GPU 덕분에 포토샵과 오피스도 빨라지는 시대
[IT동아 김영우 기자] 우리가 흔히 쓰는 PC의 내부에는 두 종류의 핵심적인 프로세서를 품고 있다. 하나는 중앙처리장치인 CPU(Central Processing Unit), 그리고 그래픽 처리장치인 GPU(Graphics Processing Unit)다. 고도로 접적된 반도체라는 점에서 CPU와 GPU는 유사하지만 두 프로세서의 역할은 확연히 달랐다. 최소한 최근까지는 말이다.
CPU는 모든 영역에 쓸 수 있는 범용 프로세서다. 특히 정수연산에 최적화되어 있어, 시스템 전반의 제어와 함께, 사무용 및 일상용, 그리고 2D 그래픽 애플리케이션(응용 프로그램)을 구동하는데 적합하다. 반면, GPU는 특수한 용도에 최적화된 프로세서로, 특히 부동소수점 연산 능력이 뛰어나다. 때문에 3D 그래픽을 CPU보다 훨씬 빠르게 처리할 수 있다. 게임 플레이나 모델링 작업을 원활히 하기 위해선 고성능 GPU가 달린 그래픽카드를 PC에 달아야 한다는 이야기를 하는 이유가 바로 그것 때문이다.
다만, 그러다 보니 3D 그래픽을 이용하지 않는 일반 애플리케이션을 구동할 때 CPU는 열심히 일을 하는데 GPU는 놀고 있는 상황이 종종 발생한다. 아무리 좋은 GPU를 단 PC라도 '포토샵'이나 '오피스' 같은 범용 프로그램의 속도가 빨라지지는 않는다는 의미다. 하지만 이는 상당한 자원낭비다.
2015년 현재, CPU의 처리 능력은 수백 기가플롭스 수준에 머물고 있지만, GPU는 이미 이보다 훨씬 높은 테라플롭스 수준에 달하고 있다. GPU는 CPU와 달리, 범용성 향상을 위한 고려를 그다지 하지 않고 설계되므로 높은 연산능력을 갖추는 것이 상대적으로 수월하다. 문제는 이런 성능을 어떻게 활용할 수 있느냐다. CPU 사용 위주로 프로그래밍된 기존의 대부분 애플리케이션은 범용 처리에 GPU를 활용하는 것이 불가능하다.
평상시에 놀고 있는 GPU의 잠재력을 깨우는 'GPGPU' 기술
GPGPU(General-purpose computing on graphics processing units) 기술이 주목 받는 이유가 바로 여기에 있다. 이는 GPU를 이용한 범용연산을 의미한다. GPGPU를 고려해 프로그래밍된 범용 애플리케이션이 점차 늘고 있는데, 대표적인 분야는 분자 구조 분석, 암호 해독, 기상 변화 예측 등이다. 이를 통해 CPU만으로 연산할 때에 비해 최소 몇 배 내지는 최대 몇 십 배까지 연산능력을 높일 수 있다.
GPGPU 기술은 대개 산업용이나 전문가용 분야에서 주로 쓰이는 것 같지만 실은 일반인들이 흔히 쓰는 애플리케이션에도 알게 모르게 적용되는 경우도 많다. 이를테면 '네이버 미디어 플레이어'와 같은 동영상 재생기, '유마일 인코더'나 '곰 인코더'와 같은 동영상 변환 소프트웨어의 최신 버전에도 GPGPU 기술이 적용되어있다. 대부분의 일반인들이 환경설정에서 이 기능을 활성화를 하지 않고 쓸 뿐이다.
CPU와의 진정한 융합을 목표로 하는 GPGPU 기술, 'HSA'
GPU 업체들 역시 GPGPU 기술을 확산시키기 위해 많은 노력을 기울이고 있는데, 특히 눈에 띄는 업체는 AMD를 들 수 있다. 이 회사는 게이밍 그래픽카드용 GPU로 유명한 '라데온' 외에 CPU와 GPU의 융합을 강조하는 통합형 프로세서인 'APU(Accelerated Processing Unit)'를 개발, 공급하고 있다. 다만, 2011년에 처음 등장한 초기형 APU는 단순히 CPU와 GPU를 하나의 칩으로 만들어 공간과 비용을 절약할 수 있는 프로세서라는 이미지가 강했다.
하지만 2014년형 APU인 코드명 '카베리'의 출시 이후부터는 GPU가 단순히 CPU를 보조하는 형태를 넘어 좀더 적극적인 형태의 GPGPU를 실현한 HSA (Heterogeneous System Architecture) 기술을 본격 적용하기 시작했다. 그리고 조만간 출시될 신형 APU인 '카리조' 역시 HSA 대응을 한층 강화할 것이라고 천명한 상태다. HSA는 이기종 시스템 아키텍처를 뜻하며, CPU와 GPU의 경계를 허물어 각종 애플리케이션에서 두 프로세서의 성능자원을 자유롭게 활용할 수 있게 됨을 의미한다.
HSA를 실현하는 위해 APU에 적용된 핵심 기술은 hUMA(heterogeneous Uniform Memory Access)와 hQ(Heterogeneous Queuing)다. 이는 CPU와 GPU가 메모리를 공유하는 한편, 서로의 처리 경로까지 최적화할 수 있는 기술이다. 두 프로세서가 메모리를 공유한다 하여 예전처럼 단순히 일정 부분씩 점유만 하는 것이 아니다. 두 프로세서는 동일한 권한을 가지며, 메모리의 접근 방식도 같다. 기존의 GPGPU처럼 CPU의 작업을 GPU가 돕는 수준에 그치는 것이 아니라, GPU가 매우 고성능의 CPU 코어처럼 작동할 수 있다는 의미다. 당연히 작업 효율은 크게 향상된다.
성능 효율성은 확인, HSA 생태계 활성화가 관건
프로그래머들이 이런 구조를 최대한 이용하면 CPU 및 GPU가 각자의 장점을 최적화 할 수 있는 분야에서 제약 없이 고성능을 발휘할 수 있다. 예전처럼 범용 애플리케이션에서 GPU의 성능을 끌어내기 위해 따로 명령어를 넣을 필요가 없어지는 것이다. 다만, 기존의 프로그래밍에 이미 익숙한 업계에서 HSA 기술을 얼마나 적극적으로 도입할 지가 관건이다. 희망이라면 HSA의 보급을 이끌고 있는 HSA 재단에 AMD 외에도 삼성전자, Ti, 퀄컴, ARM 등의 굵직한 기업들이 참여한 상태라는 점이다.
그렇다면 HSA 기술을 적용한 범용 애플리케이션은 어느 정도의 성능 향상 효과를 볼 수 있을까? 대표적인 사례는 어도비의 그래픽 편집도구인 포토샵CC와 도큐먼트 제단에서 개발한 공개 오피스 프로그램인 리브레오피스다. AMD의 테스트에 의하면, 본래 인텔 코어 i3 수준의 CPU 성능을 갖춘 AMD A10-7850K APU 기반의 PC로 포토샵CC의 필터 작업, 리브레오피스의 계산 작업을 실행한 결과, 한 수 위의 CPU를 갖춘 코어 i5-4670K 기반 PC보다 포토샵CC에서는 2.3배, 리브레오피스에서는 4배 이상 빠르게 작업을 마칠 수 있었다고 한다. 향후의 GPGPU 기술이 HSA를 업고 한층 효과적인 형태로 발전할 것임을 짐작할 수 있는 사례다.
- 해당 기사에 대한 의견은 IT동아 페이스북(www.facebook.com/itdonga)으로도 받고 있습니다.
글 / IT동아 김영우(pengo@itdonga.com)