GPU 연구 프로젝트. 아인슈타인
아인슈타인(Einstein)은 NVIDIA의 연구용 GPU 프로젝트입니다. 상품화는 되지 않았고요. 실제 출시는 볼타(Volta) 아키텍쳐였습니다. 또 TTU도 있습니다. 이는 NVIDIA의 실시간 레이트 레이싱 하드웨어 개발 프로젝트입니다. 실제 제품은 튜링(Turing) 아키텍처의 레이 트레이싱 가속기인 RT 코어가 됐습니다.
미국 산호세에서 개최된 NVIDIA GPU 컴퓨팅 컨퍼런스인 GTC(GPU Technology Conference) 2019에서 NVIDIA의 연구 부문을 이끄는 Bill Dally(Chief Scientist and SVP of Research, NVIDIA / Professor (Research), Stanford University)은 아인슈타인과 TTU에 대해 이렇게 설명했습니다.
"실시간 레이 트레이싱은 문샷(moonshot, 거대한 목표) 프로젝트라 불렀습니다. 그 전에는 아인슈타인이라는 연구용 GPU가 있었는데, 이는 볼타로 이름을 바꿔서 출시됐습니다. 이후 실시간 레이 트레이싱을 현실로 옮기려는 프로젝트가 등장했습니다. 이는 GPU 아키텍처 그룹의 멤버가 시작한 프로젝터로 TTU라 불렀습니다. Tree Traversal Unit이란 의미죠. 이게 튜링의 RT 코어가 됐습니다."
위 설명에 나온 아인슈타인은 예전에 NVIDIA GPU의 코드네임이란 소문이 나왔던 이름 중 하나입니다. NVIDIA는 볼타에서 ID의 벡터 프로세싱 유닛 기반의 GPU에 매트릭스 처리 장치인 텐서 코어를 포함시킨다는 발상을 실현했습니다.
몽상이 아닌 진짜. 실시간 레이 트레이싱
문샷은 달에 착룩한다는 의미로, 달성하기 어려운 목표를 의미입니다. 아폴로 계획만큼이나 어려운 도전이란 의미입니다. 애플의 CEO였던 존 스컬리가 문샷!이라는 제목의 회고록을 출판했던 적이 있습니다. 지금 존 스컬리라고 하면 딱히 평가가 좋진 않지만, 실시간 레이 트레이싱도 매우 어려우나 근본적인 혁신을 가져올 기술이란 의미에서 문샷이라 불렀다고 보입니다.
NVIDIA의 레이 트레이싱 연구 그 자체는 전부터 나왔으나, 실제 가속 하드웨어의 개발은 아인슈타인 후에 빠르게 진행됐습니다. 실시간 레이 트레이싱을 실현하기 얼마나 어려운지는 NVIDIA의 개발자 블로그에 올라온 인터뷰(Ignacio Llamas Interview : Unearthing Ray Tracing)에서도 설명하고 있습니다. https://devblogs.nvidia.com/ignacio-llamas-interview-unearthing-ray-tracing/
Ignacio Llamas(Director of Real Time Ray Tracing Software at NVIDIA)는 실시간 레이 트레이싱을 바로 실현하기가 무리라고 생각했습니다. "2018년에 실시간 레이 트레이싱 하드웨어와 소프트웨어를 내놓는다고 10년 전에 말했다면 그건 파이프드림(몽상)으로 치부했을 것"이라고.
좀 다른 이야기지만 NVIDIA는 예전에 파이프드림이란 말을 들은 적이 있습니다. 15년 전에 지포스 FX 5800(NV30)을 출시했을 때 8 픽셀 파이프라고 설명했는데, 실제로는 32비트 부동 소수점 연산에서 4 파이프고 그 외의 명령을 병렬 실행할 때 8파이프였습니다. 당시 라이벌이었던 ATI는 NVIDIA의 NV30은 파이프드림이라고 야유했었지요.
레이 트레이싱 유닛의 이름은 원래 TTU
튜링의 레이 트레이싱은 개발 단계에서 TTU(Tree Traversal Unit)라 불렸습니다. 이 이름은 RT 코어라는 이름보다 더욱 특징을 잘 설명하고 있습니다. RT는 당연히 레이 트레이싱이란 의미지만, 실제로 RT 코어는 레이 트레이싱에서 레이의 수를 늘리는 탐색(Traversal)과 레이와 오브젝트의 교차 판정인 인터섹션 테스트(Intersection Test)만 수행합니다. 그리고 RT 코어 아키텍처에서 탐색은 3D 공간 오브젝트를 트리 구조로 관리하는 바운딩 볼륨(BVH)를 지원합니다.
그러니 트리 탐색 장치라는 코드네임은 실제 하드웨어의 기능을 그대로 나타낸 것입니다. 탐색을 위한 전용 하드웨어가 RT 코어의 전부라 해도 될 겁니다. 레이 트레이싱의에서 가장 처리가 무겁고 전용 하드웨어 도입의 효과가 큰 것은 탐색이며, 이를 하드웨어 구현하는 것이 일반적입니다.
라스터 렌더링 파이프와 레이 트레이싱 파이프
전용 하드웨어가 없다면 레이 트레이싱 처리에 천 개의 명령이 필요합니다.
탐색과 인터섹션 테스트를 하드웨어 처리하면 훨씬 가벼워집니다.
RT 코어는 지오메트리 데이터를 트리 구조로 관리하는 BVH를 지원합니다.
게임 엔진 중에선 언리얼 엔진이 가장 먼저 지원
NVIDIA는 GPU 컴퓨팅 컨퍼런스인 GTC에서도 실시간 레이 트레이싱을 적극적으로 어필했습니다. GTC 첫날 기조 강연에서도 젠슨황(Founder and CEO, NVIDIA)은 우선 레이 트레이싱과 실제 사진을 나란히 표시하고 구분할 수 있냐고 물었습니다.
튜링 GPU 아키텍처의 개념
또 레이 트레이싱을 통합한 NVIDIA RTX 플랫폼의 지원이 늘어나고 있음을 강조했습니다. 에픽 게임즈의 언리얼 엔진 4.22와 유티이 테크놀러지의 유니티에서도 지원합니다. 크라이텍은 GTC와 거의 같은 시기에 열린 게임 개발자 컨퍼런스 GDC에서 AMD의 실시간 레이 트레이싱 데모를 수행했습니다.
레이 트레이싱이 필수인 영상 제작에도 RTX 서버가 등장했습니다.
RTX를 렌더링 스튜디오 툴과 연계하는 옴니버스 협업을 시작했습니다.
가속 처리를 위한 전용 하드웨어를 컨슈머 제품에 넣는다는 것은 그만큼 차후에 관련 수요가 늘어날 것을 예측했다는 것인데, 사실 하는 걸 보면 예측이라기보다는 주도적인 수요 창출에 가깝지요.