최근 엔비디아가 한 행사에서 금년도에 출시할 새로운 GPU 프로세서 ‘Turing’을 소개했습니다. Pascal 아키텍처와의 이별 그리고 전혀 새로운 이 GPU에 대해서 비교적 보수적인 일본 언론이 발표회 내용을 정리한 것을 번역한 내용(전달을 쉽게 하기 위한 의역을 포함해서)을 전해 드리고자 합니다. 이후에, 전망에 대해 알려드리겠습니다. ”NVIDIA 렌더링파이프라인을 근본적으로 변혁하는 새로운 GPU ‘Turing’발표 진정한 그래픽혁신을 가져올 Turing 아키텍처 “2006년 CUDA와 GeForce 8800 도입이후 가장 큰 도약" NVIDIA 젠슨 황(Founder and CEO, NVIDIA)은 캐나다 밴쿠버에서 개최된 CG학회 ‘SIGGRAPH’의 기조연설에서 새로운 그래픽용 GPU 아키텍처 ‘Turing’을 이렇게 표현했다. Turing은 NVIDIA 그래픽카드 제품(GeForce와 Quadro 브랜드)를 위한 새로운 GPU이고 지금까지 없었던 혁신적인 GPU 프로세서이다. NVIDIA는 현재 3D그래픽 GPU가 등장한 이래 렌더링파이프라인을 Turing을 통해 변혁을 시도하고 있다. 전통적인 래스터식 그래픽이외에 레이 트레싱(Ray Tracing) 및 딥러닝(Deep Learning, 심층학습)기반의 렌더링 기술을 통합한 하이브리드 렌더링을 실현했다. 이를 통해 레이 트레싱까지 하드웨어로 가속해 실시간 그래픽을 현실적인 성능으로 올려놓았다. 「주) 레이 트레싱 : ray tracing은 더욱 현실감 있는 표현이 가능방법으로서 광선추적이라고도 한다. 이것은 반사, 음영 만들기, 즉 유리 물체 등에 있어서의 빛의 굴절을 정확히 모사하고, 보다 현실에 가까운 입체표현이 가능한 방법으로 가장 유효한 랜더링 방법이다 Ray Tracing은 광선의 경로를 하나하나 추적하여 눈에 들어오는 빛을 찾아내는 방법인데, 이 방법을 이용하면 굴절과 반사의 효과를 나타내는 데 있어 그리 어렵지 않다. 평범한 다면체들을 그려내기 위해 Ray Tracing 방법으로 광선을 일일이 추적하는 것은 비효율적이지만, 거울이나 투명체를 표현하는 데 있어서는 Ray Tracing이 가장 알맞은 방법이다. Ray Tracing의 또 다른 장점은 은면 제거 알고리즘이 따로 필요하지 않다는 것이다. 그 이유는 가려진 물체가 발산하는 빛은 우리의 눈에 직접 들어오지 않고 다른 물체에 닿아버리므로 결국 이 빛은 화면에 표시되지 않기 때문이다. 그러나 광선을 하나씩 추적한다는 말에서 느낄 수 있듯이, 비록 광선추적 알고리즘 자체는 그리 복잡하지 않다 하더라도 전체적인 계산량이 많아진다는 단점이 있다.」 ‘10년에 한 번 도약’같은 캐치 프레이즈는 제조사의 과도한 마케팅 이야기처럼 들린다. 하지만 이번에는 진짜다. 렌더링파이프라인의 본질적인 변화를 보이고 있다. GPU컴퓨팅 도입 이후 가장 큰 변화라는 평가도 있지만, 실제 실시간 3D그래픽이 현재의 쉐이더그래픽이 된 DirectX9세대 이후 개혁이라고 해도 좋다. 그런 의미에서 2002년부터 지금의 개혁은 15년만에 이루어진 것이 된다. 하이브리드 렌더링 모델도 이번이 처음 개념은 아니다. NVIDIA는 2010년경부터 이 구상을 밝혔다. 그러나 Turing 발표 전까지 하드웨어와 소프트웨어가 따라 잡지 못했기 때문에 개념형태로 존재했던 것이 사실. 그만큼 레이 트레싱 가속과 딥러닝의 그래픽 적용등이 쉽지 않았다는 것을 반증한다. 하지만 만반의 준비를 통해 NVIDIA는 하이브리드 렌더링을 본격적으로 도입하고, NVIDIA가 발표한 NVIDIA RTX 소프트웨어 스택도 이를 위한 포석이라는 것을 알 수 있다. NVIDIA는 이번 Turing 아키텍처를 채용한 전문가용 제품 ‘Quadro RTX’를 SIGGRAPH에서 발표했다. Quadro RTX의 최대 포인트는 쉐이더 프로세싱뿐만 아니라 다른 프로세싱 기능을 부가한 것이다. 쉐이더 CUDA 코어 FP32 개수는 4,608개로 연산 성능은 16TFLOPS. 딥러닝 ‘Tensor Core’ 성능은 INT4의 경우 500TOPS. 그리고 새로운 레이 트레싱 가속기 ‘RT 코어(RT Core)’는 초당 10 Giga Rays가 된다. 또한 멀티 GPU 연결을 위해, NVLink을 지원한다. Turing 세대에서 광선추적 지원하드웨어를 탑재하는 것은 예상되고 있었지만, 여기까지의 성과는 기대 이상이다. 초당 10 Giga Rays라는 숫자는 엄청난 것이지만, 숫자가 감이 오지 않아도 데모를 보면 일목요연하다. Turing은 지금까지의 GPU가 실시간으로 움직일 수 없었던 레이트 레이싱을 전통적인 3D 렌더링처럼 부드럽게 움직이게 한다. RT 코어의 개요는 아직 밝혀지지 않았다. 그러나 슬라이드에는 ‘레이 트라이앵글 인터섹션 (Ray Triangles Intersection)’과 'BVH 탐색(Bounding Volume Hierarchy Traversal)‘라고 한다. 레이 트레싱은 가상 관점에서 광선(레이)를 역추적해 그 레이와 다각형 교차를 판정할 필요가 있다. 그 처리가 무겁지만, 인터섹션의 하드웨어화를 통해 그 속도를 가속화하고, 공간을 계층화해 탐색(Traversal)을 효율화하는 BVH도 하드웨어에서 관리되는 것으로 보인다. 이러한 요소는 레이 트레싱으로 처리량이 많은 부분을 가속기에서 처리하는 것을 의미하고, NVIDIA가 본격적인 레이 트레싱 가속기를 구현 한 것을 알 수 있다. 초당 10 Giga Rays의 레이 트레싱 스펙 포인트는 지금까지 레이의 처리 수를 기가 단위로 측정할 칩이 없었던 점에 있다. 이 숫자가 많으면 일정 시간 동안 픽셀당 조종 할 수 있는 레이의 수가 많다는 것을 의미하는 것으로, Quadro RTX 버전 Turing의 경우는 실시간 레이 트레싱 처리에 충분 그 이상의 스펙이다. NVIDIA는 자체 테스트를 통해 실시간 레이 트레싱이 탑재된 Turing은 Pascal의 6배 빠르다고 주장했다. 겨우 6배인가 싶을지도 모르지만, 이것은 총 처리시간을 비교한 것이다. 또한 딥러닝 기반 DLAA을 포함한 시간이다. 덧붙여서, 이 자체 테스트는 Microsoft DirectX Ray Tracing 기반으로 이루어진 것으로, Microsoft에서 갑자기 레이 트레싱 API를 가져온 이유가 Turing에 있었다는 것을 엿보게 한다. 강력한 RT 코어를 갖춘 Turing 아키텍처. 반도체 칩으로 전체 그림도 매우 인상적이다. NVIDIA의 그래픽을 위한 현재 최고봉에 있는 칩셋은 Pascal 아키텍처의 ’GP102‘. TSMC 16nm공정에서 다이 크기는 471 평방mm, 118억 트랜지스터를 집적하고 있는 반면, Turing은 12nm 공정에 다이는 754 평방mm. 186억개의 트랜지스터를 집적하고 있다. GPU 컴퓨팅을 위한 최고봉인 Volta GV100에 육박하는 초거대 칩셋이다. 쉐이더 CUDA 코어 FP32의 개수는 4,608개로, 연산 성능은 16TFLOPS이므로, 동작 주파수 부스트는 약 1.7GHz임을 알 수 있다. SM(Streaming Multiprocessor)이 64개의 CUDA 코어를 갖추고 있다고 한다. 그러나 SM은 새로운 설계로 되어 있어 부동 소수점 연산 유닛과 정수 연산 유닛을 병렬로 동작시키는 것이 가능하게 되어있다. 따라서 쉐이더 피크 성능은 16TFLOPS 플러스 정수 연산이 16TIPS(Tera Integer operations Per Second)가 된다. SM의 명령 이슈와 레지스터 액세스 대역폭이 확장되었을 가능성이 있다. Turing은 그래픽카드로는 처음으로 Tensor Core를 탑재했다. Tensor Core가 지원하는 연산제도는 FP16과 INT8, INT4. 더불어 추론 성향의 8-bit 정수와 4-bit 정수가 지원되었다. 이것은 그래픽용 GPU의 Tensor Core 표준이 될지도 모른다. INT8과 INT4는 SIMD(Single Instruction, Multiple Data)로, 연산 성능은 각각 FP16의 2 배와 4배다. FP16에서 125TFLOPS, INT8에서 250TOPS(Tera Operations Per Second), INT4에서 500TOPS. 이 숫자는 CUDA 코어에 대한 Tensor Core 비율이 Volta 아키텍처에서 변하지 않았음을 보여주고 있어 Volta을 기반으로 확장했을 가능성이 높은 것으로 보인다. 메모리는 GDDR6를 탑재했다. 전송속도는 14Gbps, 메모리 인터페이스는 384-bit, 메모리 대역폭은 초당 672GB. GDDR6를 탑재함으로써 GDDR5X와 비교해 메모리 채널이 기존의 절반의 폭이 되기 때문에, GDDR6는 1칩이 2개의 메모리 채널이 된다. 메모리 용량은 최대 48GB, 이것은 GDDR6경우 16Gb 용량의 칩이 양산되고 있기 때문이다. 또한 온 보드된 L2캐시는 GPU로서는 넉넉한 6MB를 탑재했다. 이런 메모리 스펙은 레이 트레싱에 유리하게 되어 있다. 레이 트레싱은 렌더링해야 할 3D 공간이 확장되므로 더 큰 메모리가 필요하다. 또한 메모리 액세스 패턴이 더 잘되는 경우가 있을 수 있기 때문에 memory access granularity가 작은 것이 좋다. 캐시도 효과가 좋은 경우가 나오기 때문에 캐시 용량도 효과가 온다. NVIDIA는 칩간 연결 패브릭으로 NVLink을 개발했지만, Turing은 NVLink2 링크가 탑재되어있다. 1링크 초당 50GB, 양방향 대역에서 총 초당 100GB의 대역폭이 된다. Quadro RTX는 NVLink 커넥터가 장착되어 있으며, NVLink 브리지를 통해 2개의 카드를 초당 100GB의 대역폭으로 연결할 수 있다. 호스트와의 연결은 종래대로 PCI Express하지만 GPU 사이의 직접 링크를 통해 NVLink가 가속화 된다. 현재는 2개의 NVLink2 카드 연결만 지원되고 있어, NVLink 통해 메모리를 공유해 2대의 시스템 메모리 용량은 96GB로 계산된다. 디스플레이 출력으로는 8K DisplayPort 지원이외에, ’Virtuallink‘지원이 들어갔다. 주로 VR용으로 USB type-C를 통해 비디오 출력 및 제어를 가능하게 하는 규격이다. 이를 위해 USB type-C PHY(physical layer)를 다이에 탑재하고 있다. Turing은 그래픽용 GPU 진화가 새로운 단계에 들어간 것을 명료하게 보여주고 있다. G80이후 GPU는 기본적으로 쉐이더 처리능력을 높임으로써 진화해왔다. NVIDIA 제품은 Maxwell이후 그래픽용 제품에서는 큰 개혁은 적고, 단순히 연산 성능의 향상을 도모해 왔다. 그러나 이번엔 NVIDIA는 다이를 대형화하고 늘렸다. 트랜지스터를 많이 쉐이더 이외 부분에 쏟아 부었다. 광선 추적을 위한 RT 코어 하드웨어와 딥 러닝을 위한 텐사 코어, 그리고 칩 간 연결을 위한 NVLink PHY가 바로 그것이다. 이것은 NVIDIA가 그래픽 GPU 진화의 방향은 더 이상 단순히 쉐이더 프로세싱 성능의 확장은 없다고 판단한 것을 의미하고 있다. NVIDIA의 목표는 전통적인 래스터 파이프 라인의 증가가 아니라 레이 트레싱, 딥 러닝을 통합한 하이브리드 그래픽 파이프라인의 구축이다. 이 방향 전환의 의미는 매우 크다. 그것은 그래픽 소프트웨어에 근본적으로 변혁을 가져올 것이기 때문이다. 실시간 레이 트레싱이 갑자기 사용할 수 있는 레벨이 된 것으로, 레이 트레싱의 노이즈 제거 및 AA등에 적용이 시작된 딥러닝도 앞으로는 그래픽에 적용이 진행될 것으로 생각된다. 또한 NVIDIA는 이 아키텍처를 실시간 처리 세계뿐만 아니라 오프라인 렌더링 세계에 진입 시키려하고 있다. 현재 영상제작엔 렌더 팜(Render Farm) 레이 트레싱이 중심이 되어 하드웨어로는 CPU가 사용되고 있다. 레이 한 개 한 개 인터섹션 등의 계산을 수행하는데 CPU의 유연성이 더 적합한 경우가 많았기 때문이다. 그러나 레이 트레싱을 하드웨어로 가속 할 수 는 Turing라면 렌더 팜 시장에도 진입할 수 있을 것으로 보인다. 렌더 팜의 비용과 공간을 대폭 인하시키면서도 렌더링 시간도 단축 할 수 있기 때문이다. 그러한 수요를 예상하고, NVIDIA는 Quadro RTX 기반 렌더링 서버도 투입한다. 2개의 Quadro RTX를 NVLink에 연결한 링크를 4개 탑재한 ’NVIDIA RTX Server‘로, 이번 NVIDIA가 오프라인 렌더링 CG 컨퍼런스의 색채가 강한 SIGGRAPH을 Turing 공개 장소로 선택한 이유중 하나라고 볼 수 있다.” 그동안 Pascal 아키텍처의 진화에서 익숙하던 수치나 표현들이 거의 보이지 않을 정도로 새로운 GPU가 나왔다는 것은 대단한 일인 것 같습니다. 하나 추가로 소개해 드릴 것이 바로 탑재된 메모리와 관련된 것입니다. 일부에선 하이닉스 제품 탑재라는 말들이 있었는데, 공식적으로 발표된 것은 삼성의 것입니다. “‘Quadro RTX’ 삼성전자 16Gb GDDR6 메모리 탑재 ~ 초당 56GB 데이터 전송을 실현 삼성전자는 14일(미국시간) 자사의 16Gb GDDR6(Graphics Double Data Rate 6) 메모리가 NVIDIA의 최신 GPU ‘Quadro RTX’시리즈에 채용된 것을 발표했다. Quadro RTX는 14일 ‘SIGGRAPH 2018’에서 NVIDIA가 발표한 새로운 GPU로 최상위 Quadro RTX 8000은 48GB GDDR6메모리를 탑재한다. 이번 16Gb GDDR6는 20nm공정으로 제조되는 삼성전자의 8Gb GDDR5 메모리 용량에 두배인 것으로, 업계 최초 16Gb GDDR6 메모리이다. 핀당 14Gbps통신 가능하고, 초당 56GB 데이터 전송이 가능하다. 핀당 8Gbps인 8Gb GDDR5 메모리와 비교하여 75% 빠른 속도를 강조하고 있으며, GDDR6은 1.35V 동작 때문에 1.55V에서 동작하는 GDDR5보다 35% 소비전력이 감소했다고.” 이 컨텐츠 업로드이후 8월 20일(현지시간) 엔비디아의 발표가 있을 거라는 예상들이 있습니다. 현재 돌아다니는 루머로는 GTX 1180, RTX 2080 출시발표일 것이라고 합니다. Turing 아키텍처와 Pascal 아키텍처 두 라인업을 공존시키다가 은퇴시킨다는 것은 꽤 그럴 듯 합니다. 하지만, Turing 역시 GTX 라인업이 등장할 것이 당연시 되는데, 이전 세대 제품을 스펙업해서 출시해 공존시키는 것이 어떤 의미가 있을지는 좀 지켜볼 부분이라고 판단이 됩니다. |