기본 콘텐츠로 건너뛰기

엔비디아 지포스 인플루언서 데이 (Geforce Influencer Day)를 가다 (2) - 튜링 아키텍처





 엔비디아는 지금까지 몇 차례에 걸쳐 GPU 구조를 크게 변형시켰습니다. 과거 리바 TNT 라는 명칭에서 지포스로 브랜드 네임을 갈아타면서 아예 이름도 3D 가속기가 아니라 GPU라고 바꿨는데, 이 때 하드웨어 T&L을 도입하면서 단순히 가속기가 아니라 그래픽 처리를 담당하는 주인공으로써 역할이 강조되었습니다. 지포스 3에서는 프로그래머블 픽셀/버텍스 쉐이더와 DirectX 8.0을 지원하면서 보다 현대적인 그래픽을 지닌 게임이 가능해졌습니다. 그리고 GTX 8800에서 통합쉐이더가 등장하면서 DX 10의 시대를 열었습니다. 페르미 (지포스 400/500) 대에서는 강력한 병렬 연산 능력을 지닌 아키텍처를 선보였습니다. 


 하지만 새로운 아키텍처의 도입은 항상 리스크가 따르기 마련입니다. 새롭게 추가한 기능을 게임 제작사에서 활용하기까지는 시간이 걸릴 수 있으며 만약 도입에 소극적일 경우 많은 비용과 시간을 들인 신기술이 사장될 우려가 있습니다. 그럼에도 불구하고 기술 발전 속도를 감안하면 몇 년 단위로 대대적인 아키텍처 개선이 필요합니다. 이번에 RTX 2000 시리즈는 2006년 등장한 G80/8800 GTX ( https://blog.naver.com/jjy0501/100100244767 참조) 이후 가장 큰 변화라고 주장하고 있는데, 그 내용을 살펴보겠습니다. 


 이날 부스 공개에 이어진 프리젠테이션은 1시간 정도 엔비디아의 아시아 태평양 테크니컬 마케팅 담당자인 Jeffrey Yen의 발표로 시작했는데, 한국어를 못하시는 관계로 실시간 통역을 통해 프리젠테이션과 질의 응답을 진행했습니다. 참고로 영어가 유창해서 (아마도 아시아계 원어민 같음) 뭔가 부럽다는 생각이 들었습니다. 





 프리젠테이션 슬라이드나 발표 내용은 독일 게임스컴 2018에서 젠슨 황 CEO가 한 내용의 압축버전인데, 한글로 통역을 해주고 천천히 진행해서 그런지 더 이해가 쉬웠습니다. 프리젠테이션에서 강조한 내용은 RTX가 단지 레이 트레이싱만이 아니라 그래픽을 다시 발명했다 (Graphic reinvented)고 할 만큼 많은 변화가 있었다는 주장입니다. 일단 이 주장의 근거가 될 아키텍처상의 큰 변화는 튜링 스트리밍 멀티프로레서 SM (Turing SM) 유닛의 변화입니다. 








 TU102 프로세서는 68개의 SM을 TU104 프로세서는 46개의 SM을 지니고 있는데, 각각의 SM은 64개의 CUDA 코어와 8개의 텐서코어, 1개의 RT 코어가 들어가 있습니다. 따라서 RTX 2080 Ti는 4352개의 CUDA 코어와 544개의 텐서코어, 64개의 RT 코어가 있으며 RTX 2080은 2944개의 CUDA 코어와 368개의 텐서코어, RT코어 46개를 지니고 있습니다. 이전에 없던 텐서코어와 RT 코어가 들어가면서 GPU가 매우 크고 복잡해졌는데, 이로 인해 공정 개선 및 트랜지스터 집적도 증가에 따른 성능 향상은 생각보다 크지 않다는 점이 확연하게 나타납니다. 


 예를 들어 파스칼 기반의 GTX 1080의 경우 314㎟의 면적에 72억개의 트랜지스터를 지니고 있고 GTX 1080 Ti의 경우 471㎟의 면적에 120억개의 트랜지스터를 지닌 반면 RTX 2080는 12nm 공정으로 제조되었어도 538㎟ 면적 다이에 136억개의 트랜지스터를 지니고 있으며 RTX 2080 Ti는 754㎟ 면적에 186억개의 트랜지스터를 지니고 있습니다. 사실 GTX 1080대비 RTX 2080은 트랜지스터 숫자가 거의 두 배로 증가했으나 성능은 두 배 증가하지 않은 것이 분명합니다. 이는 SM 구조를 크게 변경하면서 새로운 텐서코어와 RT 코어가 들어갔기 때문입니다. 


 다이 사이즈 증가는 비용 증가 및 전력 소모 증가로 이어집니다. 엔비디아도 이 사실을 모르지 않지만, 그래도 기존의 방식으로 4K 게이밍까지 가능해진 상태에서 이전 세대와 차별화를 이루기 위해서는 결국 더 현실적인 광원효과라는 결론을 내린 것 같습니다. 빛의 반사를 더 현실적으로 처리하는 레이 트레이싱 기법은 동영상 제작에서는 이미 널리 사용되고 있지만, 몇 분에서 몇 시간까지 시간이 오래 걸리기 때문에 지연 시간이 없는 실시간 게임에서는 제한적으로만 사용되어 왔습니다. 튜링의 RT코어는 이 부분을 하드웨어적으로 가속해 실시간으로 레이 트레이싱을 처리해 더 현실적인 환경을 구현할 수 있습니다. 






(레이 트레이싱 영상 데모) 


 이날 컨퍼런스에서는 동영상이 아니라 실제로 RTX 그래픽 카드가 설치된 컴퓨터를 이용해서 위의 테크 데모를 포함한 여러 가지 데모 영상을 시연해 보였습니다. 엔비디아 관계자들은 볼타 GPU 4개를 이용한 수준의 레이트레이싱을 하나의 튜링 GPU로 더 빨리 처리할 수 있다고 설명했습니다. 하지만 사실 현실에서 우리가 볼 수 있는 빛의 모든 효과를 처리할 수 있는 GPU는 존재하지 않습니다. 


 엔비디아의 튜링 GPU 역시 광원효과를 단순화하기 위한 알고리즘을 가지고 있습니다. 바로 Bounding Volume Hierarchy (BVH) 알고리즘이 그것입니다. 이는 간단히 설명해 광원효과를 적용할 폴리곤의 숫자를 크게 줄이는 알고리즘입니다. 이를 통해 복잡한 광원 효과를 현실적으로 표현하면서도 GPU의 부하를 줄일 수 있습니다. 




 튜링 GPU에서 생긴 큰 변화는 볼타에서 도입한 텐서코어를 모든 SM에 도입해 딥러닝 관련 연산 능력을 크게 끌어올렸다는 점입니다. 따라서 튜링 GPU는 인공 지능 연구 및 솔루션 도입 시 유용하게 사용될 수 있을 것으로 보입니다. 하지만 튜링에서 획기적인 시도는 그래픽 품질 향상을 위해서 텐서코어를 활용하고 있다는 점입니다. 





 

 Deep Learning Super-Sampling (DLSS) 기술은 현재 널리 사용되는 이미지 보정 기술인  TAA (Temporal Anti-Aliasing)를 대체할 수 있는 딥러닝 기반 이미지 향상 기술입니다. 컴퓨터에서 처리하는 3차원 폴리곤은 사실 현실과는 달리 삼각형이나 직각 모양이고 여기에 텍스처를 입히면 마치 깍두기처럼 보이는 계단 현상이 나타납니다. 이를 제거해야 더 현실적이고 깔끔한 그래픽이 가능하기 때문에 다양한 안티 앨리어싱 기술이 개발되어 왔습니다. 기술적으로는 복잡해도 지금까지의 앤티 앨리어싱 기술은 더 고해상도나 여러 개의 랜더링 결과물을 이용해서 이미지 향상시켜 왔습니다. 따라서 성능 저하는 피할 수 없었습니다. 


 DLSS는 딥러닝 기반으로 이미지를 향상시키는 새로운 접근법을 사용합니다. 쉽게 말해 본래 그래픽 처리에 사용되지 않던 텐서코어에 일감을 주고 이미지 향상을 시키는 것이죠. 저해상도 이미지를 고해상도 이미지로 변환하는 딥러닝 기술은 이미 많은 연구가 진행되어 왔지만, 벌써 게임에서 실시간으로 구현이 가능하다는 점은 놀라운 변화인 것 같습니다. 물론 그 결과물은 호불호가 약간 갈릴 수 있으나 딥리닝 기반인 만큼 앞으로 학습을 더 많이 하고 알고리즘을 개선하면 더 좋은 결과물을 보여줄 수 있다는 점을 간과해서는 안됩니다. 이는 과거의 TAA 같은 안티 앨리어싱 기술에서는 불가능했던 점입니다. 






 엔비디아가 DLSS를 넣은 이유는 텐서코어를 최대한 활용하기 위해서일 것입니다. 이렇게 하면 딥러닝 목적으로 GPU를 구매하는 사용자와 게임용으로 구매하는 사용자 모두 잡을 수 있고 낭비되는 유닛의 숫자 역시 가장 줄일 수 있습니다.


 사실 레이 트레이싱이나 DLSS 모두 결국 게임 제작사에서 이를 젹극적으로 지원하지 않으면 큰 효과를 기대하기는 어렵습니다. 하지만 바로 여기에 엔비디아의 장점이 있습니다. 현재 그래픽 시장을 장악한 업계 1위이기 때문에 엔비디아가 정하면 업계 표준으로 자리잡을 가능성이 높은 것입니다. 게임 제작사에서 이 기술을 적극 도입할 경우 AMD의 라데온의 입지는 지금보다 더 줄어들 가능성이 크고 엔비디아의 입지는 더 견고해질 가능성이 있습니다. RTX 기술은 그런 의미에서 당장에 손해보는 부분이 있더라도 미래를 위해 희생할 수 있는 큰 도전이라고 하겠습니다. 


 아무튼 이렇게 되면 콘솔 게임과 신의 게임기인 PC의 차이는 더 크게 벌어지는 것은 아닐지 궁금합니다. 그리고 과연 AMD의 대응은 어떨지 역시 궁금해지는 상황입니다. 만약 레이 트레이싱과 DLSS 같은 신기술이 널리 사용되면 AMD의 입지는 지금보다 더 좁아지지 않을지 걱정되는 부분도 있습니다. 


 마지막으로 인상 깊었던 부분은 이미 업계 선두 기업인데도 안주하지 않고 끊임없이 새로운 모험을 하는 엔비디아의 자세입니다. 이런 부분이 작은 벤처 기업에서 시작해서 지금처럼 글로벌 대기업이 된 원동력이 아니었을까 생각합니다. 


 참고 




댓글

이 블로그의 인기 게시물

통계 공부는 어떻게 하는 것이 좋을까?

 사실 저도 통계 전문가가 아니기 때문에 이런 주제로 글을 쓰기가 다소 애매하지만, 그래도 누군가에게 도움이 될 수 있다고 생각해서 글을 올려봅니다. 통계학, 특히 수학적인 의미에서의 통계학을 공부하게 되는 계기는 사람마다 다르긴 하겠지만, 아마도 비교적 흔하고 난감한 경우는 논문을 써야 하는 경우일 것입니다. 오늘날의 학문적 연구는 집단간 혹은 방법간의 차이가 있다는 것을 객관적으로 보여줘야 하는데, 그려면 불가피하게 통계적인 방법을 쓸 수 밖에 없게 됩니다. 이런 이유로 분야와 주제에 따라서는 아닌 경우도 있겠지만, 상당수 논문에서는 통계학이 들어가게 됩니다.   문제는 데이터를 처리하고 분석하는 방법을 익히는 데도 상당한 시간과 노력이 필요하다는 점입니다. 물론 대부분의 학과에서 통계 수업이 들어가기는 하지만, 그것만으로는 충분하지 않은 경우가 많습니다. 대학 학부 과정에서는 대부분 논문 제출이 필요없거나 필요하다고 해도 그렇게 높은 수준을 요구하지 않지만, 대학원 이상 과정에서는 SCI/SCIE 급 논문이 필요하게 되어 처음 논문을 작성하는 입장에서는 상당히 부담되는 상황에 놓이게 됩니다.  그리고 이후 논문을 계속해서 쓰게 될 경우 통계 문제는 항상 나를 따라다니면서 괴롭히게 될 것입니다.  사정이 이렇다보니 간혹 통계 공부를 어떻게 하는 것이 좋겠냐는 질문이 들어옵니다. 사실 저는 통계 전문가라고 하기에는 실력은 모자라지만, 대신 앞서서 삽질을 한 경험이 있기 때문에 몇 가지 조언을 해줄 수 있을 것 같습니다.  1. 입문자를 위한 책을 추천해달라  사실 예습을 위해서 미리 공부하는 것은 추천하지 않습니다. 기본적인 통계는 학과별로 다르지 않더라도 주로 쓰는 분석방법은 분야별로 상당한 차이가 있을 수 있어 결국은 자신이 주로 하는 부분을 잘 해야 하기 때문입니다. 그러기 위해서는 학과 커리큘럼에 들어있는 통계 수업을 듣는 것이 더 유리합니다. 잘 쓰지도 않을 방법을 열심히 공부하는 것은 아무래도 효율

R 스튜디오 설치 및 업데이트

 R을 설치한 후 기본으로 제공되는 R 콘솔창에서 코드를 입력해 작업을 수행할 수도 있지만, 보통은 그렇게 하기 보다는 가장 널리 사용되는 R 개발환경인 R 스튜디오가 널리 사용됩니다. 오픈 소스 무료 버전의 R 스튜디오는 누구나 설치가 가능하며 편리한 작업 환경을 제공하기 때문에 R을 위한 IDE에서 가장 널리 사용되어 있습니다. 아래 링크에서 다운로드 받습니다.    https://www.rstudio.com/  다운로드 R 이나 혹은 Powerful IDE for R로 들어가 일반 사용자 버전을 받습니다. 오픈 소스 버전과 상업용 버전, 그리고 데스크탑 버전과 서버 버전이 있는데, 일반적으로는 오픈 소스 버전에 데스크탑 버전을 다운로드 받습니다. 상업 버전의 경우 데스크탑 버전의 경우 년간 995달러, 서버 버전은 9995달러를 받고 여러 가지 기술 지원 및 자문을 해주는 기능이 있습니다.   데스크탑 버전을 설치하는 과정은 매우 쉽기 때문에 별도의 설명이 필요하지 않을 것 같습니다. 인스톨은 윈도우, 맥, 리눅스 (우분투/페도라)에 따라 설치 파일이 나뉘지만 설치가 어렵지는 않을 것입니다. 한 가지 주의할 점이라면 R은 사전에 반드시 따로 설치해야 한다는 점입니다. R 스튜디오만 단독 설치하면 아무것도 할 수 없습니다. 뭐 당연한 이야기죠.   설치된 R 스튜디오는 자동으로 업데이틀 체크하지 않습니다. 따라서 업데이트를 위해서는 R 스튜디오에서 Help 로 들어가 업데이트를 확인해야 합니다.     만약 업데이트 할 내용이 없다면 최신 버전이라고 알려줄 것이고 업데이트가 있다면 업데이트를 진행할 수 있도록 도와주게 됩니다. R의 업데이트와 R 스튜디오의 업데이트는 모두 개별적이며 앞서 설명했듯이 R 업데이트는 사실 기존 버전과 병행해서 새로운 버전을 새롭게 설치하는 것입니다. R 스튜디오는 실제로 업데이트가 이뤄지기 때문에 구버전을 지워줄 필요는

150년 만에 다시 울린 희귀 곤충의 울음 소리

  ( The katydid Prophalangopsis obscura has been lost since it was first collected, with new evidence suggesting cold areas of Northern India and Tibet may be the species' habitat. Credit: Charlie Woodrow, licensed under CC BY 4.0 ) ( The Museum's specimen of P. obscura is the only confirmed member of the species in existence. Image . Credit: The Trustees of the Natural History Museum, London )  과학자들이 1869년 처음 보고된 후 지금까지 소식이 끊긴 오래 전 희귀 곤충의 울음 소리를 재현하는데 성공했습니다. 프로팔랑곱시스 옵스큐라 ( Prophalangopsis obscura)는 이상한 이름만큼이나 이상한 곤충으로 매우 희귀한 메뚜기목 곤충입니다. 친척인 여치나 메뚜기와는 오래전 갈라진 독자 그룹으로 매우 큰 날개를 지니고 있으며 인도와 티벳의 고산 지대에 사는 것으로 보입니다.   유일한 표본은 수컷 성체로 2005년에 암컷으로 생각되는 2마리가 추가로 발견되긴 했으나 정확히 같은 종인지는 다소 미지수인 상태입니다. 현재까지 확실한 표본은 수컷 성체 한 마리가 전부인 미스터리 곤충인 셈입니다.   하지만 과학자들은 그 형태를 볼 때 이들 역시 울음 소리를 통해 짝짓기에서 암컷을 유인했을 것으로 보고 있습니다. 그런데 높은 고산 지대에서 먼 거리를 이동하는 곤충이기 때문에 낮은 피치의 울음 소리를 냈을 것으로 보입니다. 문제는 이런 소리는 암컷 만이 아니라 박쥐도 잘 듣는다는 것입니다. 사실 이들은 중생대 쥐라기 부터 존재했던 그룹으로 당시에는 박쥐가 없어 이런 방식이 잘 통했을 것입니다. 하지만 신생대에 박쥐가 등장하면서 플로팔랑곱