배너
닫기

산업동향

배너

[2015 머신비전세미나] GPGPU 솔루션, 호스트 메모리 등 프로세서 성능 업

  • 등록 2014.12.30 13:58:26
URL복사

머신비전에서 GPGPU를 이용한 효율적 프로세싱 방안


GPGPU는 프로세서가 부담을 갖는 작업을 대신 처리함으로써 시스템의 효율을 높일 수 있다.
여기서는 머신비전 세미나에서 앤비전의 성용원 차장이 발표한
‘머신비전에서 GPGPU를 이용한 효율적 프로세싱 방안’ 내용을 요약했다.


▲ 성용원 차장


CPU를 이용한 프로세스는 CPU의 속도(Clock)에 의존하기 때문에 알고리즘에 한계를 지니게 된다.
또한 CPU 코어가 멀티코어로 진화하고는 있지만 CPU의 설계 특성상 복잡한 기능을 위해 병렬화가 제한돼 대용량 IO가 필요한 요소를 저해하고 있다.
마지막으로 검출 시 발생하는 노이즈 등을 제거하기 위해 검출력을 높일 수 있는 고난이도의 알고리즘을 사용하지만 실제로 적용되기는 어려운 것이 현실이다.
이미 2005년 듀얼코어가 등장하면서 CPU 프로세스의 한계를 인식하게 됐다. 이를 해결하기 위해 여러 개선책들이 등장하고 있지만 현실적인 저해 요소들이 존재한다.


GPGPU란?


GPGPU(General-Purpose computing on Graphics Process-ing Units)는 게임용 프로세서를 범용 프로세서로 발전시킨 것으로 GPGP 또는 GP2라고도 불리며, 컴퓨터 그래픽스를 위한 계산만 다루는 GPU를 사용해 CPU가 전통적으로 취급했던 응용 프로그램들의 계산을 수행하는 기술이다.
케플러의 ‘TITAN Z’는 5,760개의 프로세서를 장착했으며 8테라플롭의 처리 성능을 보이는 제품이다.
4천만 명의 국민이 전부 계산기를 가지고 5.6시간 계산했을 때 나오는 처리를 1테라플롭이라고 하므로 GPU 성능의 향상은 대단하다고 할 수 있다.
또한 NVDIA의 ‘TESLA’는 병렬 컴퓨팅 및 프로그래밍을 기반으로 다양한 컴퓨팅 기능을 지원하며 DMA 엔진을 2개 탑재했다.


▲ 케플러의 TITAN Z


▲ NVDIA의 TESLA



GPGPU 지원 프로그램 종류


· Video Converter/Transcoder/Video Enhancer
· Render/RayTracing
· S3FotoPro
· Media player/Decoder
· Audio
· Benchmark/Stability Test


GPU 프로세싱을 통한 I/O 트래픽 해결


현재 GPGPU는 특정 어플리케이션 외에는 I/O가 높지 않다. 그러나 최근 출시되는 카메라의 메모리가 2GB를 넘기 때문에 GPU의 활용 방안에 대해 고민해야 할 필요가 있다.


▲ GPU를 활용한 프로세싱


지금까지의 프로세스에서는 CPU가 메인 프로세싱을 담당하고 GPU는 전 처리 과정을 담당했다. 그러나 이러한 과정에서는 호스트 메모리에 I/O 트래픽이 생길 수밖에 없다. 이는 알고리즘의 성능 저하로 이어진다.
그렇기 때문에 GPU를 가지고 무엇을 할지에 대한 고민이 필요하다. 앞으로는 GPU가 단지 전 처리 과정만을 담당하는 것이 아니라 호스트 메모리의 일부를 GPU가 최대한 흡수하고, 메인 프로세싱을 CPU와 분담해야 할 것이다. 이렇게 되면 CPU가 담당할 I/O를 상당 부분 감소할 수 있다.
그렇다면 GPU가 담당할 수 있는 메인 프로세싱엔 어떤 것들이 있을까. 첫 번째는 Bead Inspection으로, 실링의 폭을 검사하는 것이다. 저해상도일 때는 포인트가 많지 않지만, 해상도가 높아져 포인트가 많아질수록 많은 단계의 프로세스와 대용량의 데이터를 필요로 한다.
GPU는 또한 Single Line Detec-tion 등의 측정 프로세스도 담당할 수 있다. 처리 속도는 약 100,000 포인트, 30∼200 픽셀 폭을 검사할 때 대략 40ms가 걸리는 것으로 나타났다. 


정리 이솔이 기자(npnted@hellot.net)









배너










주요파트너/추천기업