엔비디아의 승부수 ‘튜링’ 보기
1부① ▶보기 / 1부② ▶보기 / 2부① ▶보기 / 2부② ▶보기
|
Turing의 등장을 계기 삼아 나는 모든 세대의 ‘현대 GPU’를 되짚어보며, 그들이 가졌던 의의와 한계를 짚어볼 것이다. 되풀이되는 사건들, 때로 먼 훗날 태동하게 될 기술의 씨앗이 어떻게 뿌려지고 대개는 당대에 빛을 보지 못하고 잊혀지는지 보며, 기술 발전의 큰 흐름이 얼마나 예측하기 어렵고 수많은 우연의 총체인지 대강이나마 보여드리는 데 목적이 있다.
이 글은 통합 쉐이더(Unified shader)의 등장 전과 후를 기점으로 (1)통합 쉐이더 이전까지의 엔비디아 GPU (2)통합 쉐이더 이후의 엔비디아 GPU (3)ATi/AMD의 GPU를 각각 다루는 것을 목표로 한다.
|
엔비디아는 NV10을 출시하며 스스로를 그래픽 프로세서로 이름붙이기 위한 조건을 제시했다. 첫째 트라이앵글 셋업, 트랜스폼(변형), 라이팅(광원)을 CPU 대신 직접 연산할 수 있을 것. 둘째 적어도 초당 1천만개의 다각형을 처리할 만큼의 연산량 -대략 1GOPS(Giga-OPerations/Second)에 해당- 을 갖출 것. 첫번째 조건을 위해 엔비디아는 트랜스폼 및 라이팅 전용 유닛 <하드웨어 T&L 지오메트리 엔진> 을 도입, GeForce란 이름 자체가 그로부터 유래한 일화는 유명하다.
NV10은 당대 최초로 4개씩의 픽셀 쉐이더 / 텍스처 유닛 / ROP를 탑재, 클럭당 4개의 64bit 픽셀을 처리할 수 있었(고 이는 곧 256이라는 접미사의 기원이 된)다. 각 유닛의 연산 성능 총합은 1.44GOPS(픽셀 쉐이더, 텍스처 유닛, ROP 각 480MOPS) 에 달해 두번째 조건 역시 충족되었다. 이때까지 1GOPS 고지를 돌파한 그래픽 처리장치는 전무했으며 엔비디아의 직전작 TNT2 Ultra가 픽셀, 텍스처, 렌더링 각 300MOPS씩 도합 900MOPS를 기록한 것이 최고였다.
|
NV2x 세대의 역사적 의의는 무엇보다 프로그래머블 쉐이더를 도입, 쉐이더 프로그래밍의 단초를 연 것이다. 오늘날의 거대한 범용 GPU 컴퓨팅(GPGPU)은 (비록 범용 쉐이더에 의한 GPGPU 구현은 다섯 세대 뒤에나 실현되지만) 이때 그 초석이 놓인 것과 다름없다. 엔비디아는 Turing을 발표하며 그들의 기념비적 업적으로 레거시 GPU로는 유일하게 GeForce 256과 GeForce 3을 (범용 쉐이더를 도입한) GeForce 8000과 나란히 올렸는데, GeForce 3이 두 거인 사이에 당당히 언급된 배경이 바로 거기에 있다.
(▶2편에서 계속)
▲닥터몰라 소개= 다양한 전공과 배경을 가진 운영진이 하드웨어를 논하는 공간이다. 부품부터 완제품에 이르는 폭 넓은 하드웨어를 벤치마크하는 팀이기도 하다. 데이터베이스를 구축해 이미 알려진 성능의 재확인을 넘어 기존 리뷰보다 한층 더 깊게 나아가 일반적으로 검출하기 어려운 환경에서의 숨은 성능까지 예측가능한 수리모델을 개발하고 있다.
필진으로 이대근 씨(KAIST 수리과학 전공)와 이진협 씨(성균관대학교 생명과학 및 컴퓨터공학 전공), 이주형 씨(백투더맥 리뷰 에디터/Shakr 필드 엔지니어) 등이 참여한다.