GPU 와 CPU 속도 비교
CPU 와 GPU 둘다 단일 연산자만들 이용하여 구현 하였으며 백터 연산자는 사용하지 않았습니다.
해상도 : 1280 x 960
CPU : I7 2600
RAM : 16GB 1600Mhz
GPU : GTX 550 Ti
연산양을 크게 하기 위해 RGB 3채널을 이용하며 3 x 3 sobal kernel을 연산 합니다. 이후 정규화 과정을 가짐니다.
openCL - GPU
CPU
CPU : 0.265013
GPU : 0.012662
0.265013 / 0.012662 = 20.92978
GPU가 20.92978 배 빠르다는것을 알 수 있습니다.
GPU성능이 크게 발전함에 따라 이 격차는 더욱 벌어질것이라 생각됨니다.
GTX 550 Ti -> GTX 960
Memory Bandwidth : 98.4GB/s -> 112GB/s
CUDA Core 192 -> 1024
생각해보니 CPU에서는 단일 명령어와 단일 쓰레드에서 동작 하기때문에 느릴 수 밖에 없고 그에 비해서 GPU는 다중 쓰레드에서 동작 한다고 볼 수 있기때문에 지금의 비교는 무의미해 보입니다. 적어도 CPU에서는 openMP 라도 사용해서 비교할걸 그랬습니다.
SIMD 연산을 하지 않았기때문에 OpenCV와 비교해서도 느린 결과를 가지게될 것입니다.
기회가 된다면 인텔 제온 PI 를 가지고서 실험을 해보고 싶네요.ㅎ
'영상처리' 카테고리의 다른 글
강체(Rigid)와 호모그래피(Homography) 변환 (1) | 2016.07.28 |
---|---|
Horn and Schunck Flow 구현 및 회전중심 찾기 (0) | 2016.07.06 |
영상처리 UI Tool (0) | 2016.07.06 |
StereoVision (0) | 2016.06.26 |
영상안정화 - DIS(Digital Image Stabilization) (1) | 2016.05.29 |