진정한 그래픽 혁신을 가져올 튜링 아키텍처
"2006년에 CUDA(지포스 8800을) 도입한 이후 가장 큰 도약"
NVIDIA의 젠슨황(Founder and CEO, NVIDIA)은 캐나다 밴쿠버에서 개최된 CG 학회 SIGGRAPH의 기조 연설에서 새로운 그래픽 GPU 아키텍처 튜링(Turing)을 이렇게 표현했습니다. 튜링은 NVIDIA 그래픽(지포스와 쿼드로 브랜드)를 위한 새로운 GPU입니다. 그리고 지금까지 없었던 혁신적인 그래픽 제품입니다.
시그래프에서 쿼드로 RTX가 출시
튜링 다이. 컨셉 이미지이지 실제 다이는 아닙니다.
NVIDIA는 튜링에서 3D 그래픽 GPU의 렌더링 파이프라인에 변화를 주려 합니다. 전형적인 라스터 방식의 그래픽 외에 레이 트레이싱, 딥 러닝 기반의 렌더링 기술을 통합한 하이브리드 렌더링을 실현합니다. 레이 트레이싱까지 하드웨어로 가속해 실시간 그래픽을 현실적으로 수행할 수 있는 성능까지 올려 놓습니다.
2006년의 CUDA 이후 등장한 비약적인 변화
10년에 한번 도약. 이런 캐치프레이즈는 제조사의 과장된 마케팅 표현처럼 보입니다. 하지만 이번에는 진짜입니다. 렌더링 파이프라인에 본질적인 변화가 보입니다. 젠슨황은 GPU 컴퓨팅의 도입 이후 가장 큰 변화라고 평가하는데, 실시간 3D 그래픽에선 쉐이더 그래픽이 자리잡은 다이렉트 X 9 이후 대규모로 이루어진 개혁이라고 해도 될 겁니다. 그런 의미에서 2002년부터 15년만에 첫 개혁이 등장하게 됐습니다.
하이브리드 렌더링 모델은 이번이 처음은 아닙니다. NVIDIA는 2010년부터 이 생각을 밝혔습니다. 그러나 지금까지 현실적인 비전이 없었는데, 하드웨어와 소프트웨어가 따라잡지 못해서입니다. 레이 트레이싱 가속, 딥 러닝의 그래픽 적용은 튜링이 나오기 전가지 이루어지지 않았습니다. 만반의 준비 끝에 NVIDIA도 하이브리드 렌더링을 본격적으로 도입하게 됐습니다. NVIDIA가 발표한 NVIDIA RTX 소프트웨어 스택도 이를 위한 포석입니다.
NVIDIA RTX 소프트웨어 스택
레이 트레이싱은 인터섹션과 BVH 탐색을 가속
NVIDIA는 이번 튜링 아키텍처의 전문가용 그래픽카드인 쿼드로 RTX를 시그래프에서 발표했습니다. 쿼드로 RTX의 가장 큰 특징은 쉐이더 프로세싱 외에 다른 프로세싱 기능을 더했다는 것입니다. 쉐이더 CUDA 코어(FP32 유닛)의 수는 4608개, 연산 성능은 FP32에서 16TFLOPS. 딥 러닝 텐서 코어의 성능은 INT4가 500TOPS. 그리고 새로운 레이 트레이싱 가속기인 RT 코어는 10 Giga Rays/s입니다. 또 멀티 GPU 연결을 위해 NVLink를 2개 갖춥니다.
강렬한 스펙의 쿼드로 RTX
튜링 세대에서 레이 트레이싱 하드웨어를 탑재할 것이라고는 예상했으나, 지금 나온 성과는 기대 이상입니다. 10 Giga Rays/s의 숫자는 엄청나며, 숫자가 감이 오지 않는다면 데모를 보면 됩니다. 튜링은 지금까지의 GPU에서 실시간으로 실행하지 못했던 레이 트레이싱을 전통적인 3D 렌더링처럼 부드럽게 그려냅니다.
다양한 튜링의 기능
RT 코어의 개요는 아직 밝혀지지 않았습니다. 그러나 슬라이드에는 레이 트라이앵글 인터섹션(Ray Triangles Intersection)과 BVH(Bounding Volume Hierarchy Traversal)이 나와 있습니다. 레이 트레이싱은 가상의 시점에서 광선(레이)를 거꾸로 추적,하고 그 빛과 다각형의 교차를 판정할 필요가 있습니다. 이 처리는 무겁지만 인터센션을 하드웨어로 구현해 속도가 빨라집니다. 또 공간을 계층화해 탐색(Traversal)을 효율적으로 수행하는 BVH도 하드웨어에서 관리하는 것 같습니다.
이러한 요소는 레이 트레이싱에서 처리량이 많은 부분을 가속기에서 처리하고, NVIDIA가 본격적인 레이 트레이싱 가속기를 구현했음을 의미합니다. 10 Giga Rays/s의 레이 트레이싱은 처리하는 광선의 수가 기가 단위임을 의미합니다. 쿼드로 RTX의 튜링은 실시간 레이 트레이싱은 충분히 처리할 스펙입니다.
위 캐릭터에 들어간 수많은 반사 처리는 실시간 레이 트레이싱을 활용한 하이브리드 렌더링의 결과입니다.
NVIDIA는 실시간 레이 트레이싱에서 튜링이 파스칼보다 6배 빠르다고 설명합니다. 이건 전체 처리 시간이고, 딥 러닝 기반 DLAA를 포함한 시간입니다. 그리고 Microsoft DirectX Ray Tracing에서 비교한 결과지요. 마이크로소프트가 갑자기 레이 트레이싱 API를 넣은 이유가 튜링에 있는다고 추측해 봅니다.
파스칼보다 6배의 성능을 제공
새로운 디자인의 SM, 커스텀 텐서 코어 내장
튜링 아키텍처는 강력한 RT 코어를 갖췄습니다. 반도체 칩 레벨에서도 엄청나지요. NVIDIA의 현존 최고 칩은 파스칼 아키텍처의 GP102입니다. TSMC의 16nm 공정에 다이 크기는 471제곱mm, 118억개 트랜지스터입니다. 반면 튜링은 12nm 공정에 다이는 754제곱mm, 트랜지스터는 186억개. GPU 컴퓨팅을 위한 최고봉 인 Volta GV100에 육박하는 초 거대 칩이다.
튜링의 다이 크기는 한번에 찍어낼 수 있는 반도체 칩의 한계보다 약간 작은 수준입니다.
쉐이더 CUDA 코어(FP32 유닛)의 수는 4608개로, 연산 성능은 FP32에서 16TFLOPS입니다. 동작 클럭의 부스트는 약 1.7GHz. SM(Streaming Multiprocessor)가 64개의 CUDA 코어를 갖춘다고 가정하면 SM 수는 72개가 됩니다.
그러나 SM의 설계를 새로 하면서 부동 소수점 연산 유닛과 정수 연산 유닛을 병렬 동작이 가능합니다. 따라서 쉐이더의 최고 성능은 16TFLOPS. 정수 덧셈이 16TIPS (Tera Integer operations Per Second)가 됩니다. SM의 명령 이슈와 레지스터 액세스 대역폭이 확장될 가능성이 있습니다.
튜링은 그래픽용 다이 중에선 처음으로 텐서 코어를 탑재했습니다. 텐서 코어가 지원하는 연산은 FP16과 INT8, INT4. 추론에선 8비트 정수와 4비트 정수를 지원합니다. 이것은 그래픽용 GPU 텐서 코어의 표준이 될 가능성이 있습니다.
INT8과 INT4는 SIMD (Single Instruction, Multiple Data)로, 연산 성능은 각각 FP16의 2배와 4배입니다. FP16에서 125TFLOPS, INT8에서 250TOPS (Tera Operations Per Second), INT4에서 500TOPS입니다. 이 숫자는 CUDA 코어와 텐서 코어의 비율이 볼타 아키텍처에서 변하지 않았음을 보여줍니다. 볼타를 기반으로 확장했을 가능성이 높습니다.
레이 트레이싱을 위한 메모리 스펙
메모리는 GDDR6, 전송 속도는 14Gbps, 메모리 인터페이스는 384비트, 메모리 대역폭은 672GB/s입니다. GDDR6로 바뀌면서 GDDR5X에 비해 메모리 액세스의 크기가 절반으로 줄었습니다. 메모리 채널이 기존의 절반이 되면서 GDDR6는 1개의 칩으로 2개 메모리 채널이 나옵니다. 메모리 용량은 최대 48GB, 현재 16Gb 용량의 칩이 양산 중입니다. 또 GPU 중에선 꽤나 넉넉한 6MB 용량의 L2 캐시가 탑재됩니다.
이런 메모리의 스펙은 레이 트레이싱에 유리합니다. 레이 트레이싱은 렌더링 과정 중에 3D 공간이 확장되기에 더 많은 메모리가 필요합니다. 또 메모리 액세스의 크기가 작을수록 유리합니다. 대용량 캐시도 영향을 줍니다.
NVIDIA는 칩 사이의 연결 패브릭으로 NVLink를 개발했으며, 튜링에는 NVLink가 2링크 탑재됩니다. 1링크는 50GB/s의 양방향 대역에 총 100GB/s의 대역폭이 됩니다. 쿼드로 RTX는 NVLink 커넥터가 장착되며, NVLink 브리지를 써서 2개의 카드를 100GB/s의 대역폭으로 연결합니다. 호스트와의 연결은 여전히 PCI-E지만 GPU 사이의 직업 연결은 더 빠른 NVLink를 씁니다. 지금은 2개의 링크로 2개의 카드 연결만 지원합니다. NVLink를 통해 메모리를 공유해 2장의 카드 시스템을 구축하면 총 메모리 용량은 96GB가 됩니다.
디스플레이에선 8K 디스플레이포트의 지원 외에 Virtuallink가 추가됐습니다. VR에서 USB 타입 C를 통해 비디오 출력과 제어를 모두 수행하는 규격입니다. 그래서 USB 타입 C의 PHY가 다이에 들어갑니다.
튜링에서 그래픽용 GPU의 방향이 크게 바뀌다
튜링은 그래픽 용 GPU의 진화가 새로운 단계에 들어갔음을 명확하게 보여줍니다. G80 이후 GPU는 기본적으로 쉐이더 처리 능력을 높여 진화해 왔습니다. NVIDIA는 맥스웰 이후 그래픽 제품에서 큰 개혁은 이루어지지 않았으며, 단순히 연산 성능을 향상시켜 왔습니다.
그러나 이번에는 다이를 크게 늘리고 트랜지스터를 많이 넣었으며 쉐이더 이외의 부분에 투자했습니다. 레이 트레이싱을 위한 RT 코어 하드웨어와 딥 러닝을 위한 텐서 코어, 칩 사이의 연결을 위한 NVLink PHY가 그것입니다. 이것은 NVIDIA가 그래픽 GPU의 진화 방향이 더 이상 단순히 쉐이더 프로세싱 성능의 확장만으론 되지 않는다고 판단했음을 의미합니다.
NVIDIA의 목표는 전통적인 라스터 파이프 라인을 늘리는 게 아니라 레이 트레이싱, 딥 러닝을 통합한 하이브리드 그래픽 파이프라인의 구축입니다. 이런 변화의 의미는 매우 큽니다. 그래픽 소프트웨어의 근본적인 변화를 가져올 가능성이 있기 때문입니다. 실시간 레이 트레이싱을 갑작스레 쓸 수 있게 되면서 전통적인 그래픽의 변화가 생길 수 있습니다. 레이 트레이싱을 노이즈 제거나 AA 등에 사용하고, 딥 러닝도 앞으로 그래픽에 쓰일 것으로 생각됩니다.
NVIDIA는 이 아키텍처를 실시간 처리뿐만 아니라 오프라인 렌더링 분야에도 보급시키려 합니다. 현재 영상 제작의 렌더러 팜 레이 트레이싱에선 여전히 CPU를 많이 씁니다. 광선 하나하나의 인터섹션을 계산하려면 CPU 유연성이 더욱 적합한 경우가 많아서입니다. 그러나 레이 트레이싱을 하드웨어로 가속하는 튜링이 렌더러 팜에 쓰이면 공간과 비용, 시간이 대폭 줄어들 것으로 기대됩니다.
그런 수요를 예상하고 NVIDIA는 쿼드로 RTX 기반 렌더링 서버도 출시합니다. 2개의 쿼드로 RTX를 NVLink에 연결해 이를 4쌍 탑재한 NVIDIA RTX 서버입니다. 렌더링 CG 컨퍼런스의 이미지가 강한 시그래프에서 튜링을 공개한 것도 이런 이유에서입니다.
오프라인 렌더링 시장을 목표로
쿼드로 RTX 기반 서버 출시
영상 제작
지원하는 ISV는 게임 엔진부터 렌더링까지
가격
로컬 라이트에 확산 반사, 글로벌 일루미네이션을 추가했습니다. 조명, 레이 트레이싱, 컴퓨팅, 딥 러닝을 합한 하이브리드 렌더링 모델