영재컴퓨터 YJMOD RTX 2080 x4 워크스테이션 RTX 2080 4개 장착된 딥러닝/연산/렌더링 시스템 안녕하세요. 퀘이사존벤치입니다. 엔비디아의 지포스 RTX 시리즈가 발표되면서 게임용 그래픽카드 시장은 새로운 국면을 맞이했습니다. 그리고 과거와는 조금 달라진 상황이 되었죠. 기존에는 새로운 세대의 그래픽카드가 출시되면, 빠르게 세대교체 바람이 불면서 기존 라인업을 새로운 세대의 그래픽카드가 대체하는 형국이었지만, RTX 그래픽카드는 기존보다 더 비싼 프리미엄 그래픽카드로 가격대가 잡히면서, 파스칼 아키텍처의 지포스 10 시리즈와 양립하는 상황이 벌어진 것입니다.
여기에는 다양한 원인을 꼽을 수 있습니다. 경쟁사에서 이렇다 할 신제품이 없다는 것이 가장 큰 이유고, 덧붙여 엔비디아가 레이트레이싱을 강조하며 설계된 튜링 아키텍처 GPU의 본질적인 특징도 이유가 될 수 있습니다. 보다 미세화된 공정에 FP32 연산에 직접적인 영향을 끼치는 CUDA 코어만을 늘리는 데 그친 것이 아니라, GDDR6 메모리 인터페이스 채용, AI(Artificial Intelligence)를 위한 텐서 코어(AI 연산), RT 코어(레이트레이싱 연산)가 탑재되는 등 GTX를 RTX로 바꿀 만큼의 많은 변화가 있었기 때문이죠. 파스칼 아키텍처 기반의 지포스 10 시리즈가 여전히 소비자들에게 선택되고 있는 현재의 상황은 어쩌면 엔비디아가 의도했던 그림일지도 모르겠습니다. 물론, 그렇다고 해서 비싸진 가격을 납득할 수 있는가는 별개 문제로 남기고 말이죠.
이렇게, 지포스 RTX 그래픽카드는 크고 작은 변화를 겪게 되면서, 게임용 그래픽카드로써의 가치 외에도 딥러닝(Deep Learning), GPGPU(General-Purpose computing on GPU)로 대표되는 범용 연산, 3D 렌더링 등 전문 작업 영역에서의 가치도 조명을 받고 있습니다. 튜링 아키텍처의 특성에 대해서는 아래 섹션에서 조금 더 설명을 이어가도록 할 텐데요. 제품 자체에 대한 내용을 빨리 보고 싶으신 분들은 쿨하게 넘어가주시길 바랍니다. 튜링의 SM 아키텍처 TURING STREAMING MULTIPROCESSOR ARCHITECTURE 튜링(Turing) 아키텍처는 볼타(Volta)의 GV100 SM 아키텍처에 도입된 많은 기능을 통합하여 새로운 SM 설계를 갖췄습니다. TPC 당 2개의 SM이 포함되며, 각 SM에는 총 64개의 FP32 코어와 INT32 코어가 존재합니다. 이에 비해 파스칼 GP100 시리즈 GPU는 TPC 당 1개의 SM과 각 SM에는 128개의 FP32 코어로 큰 차이를 보입니다. 튜링 SM은 FP32와 INT32 작업을 동시에 수행할 수 있으며, 볼타 GV100 GPU와 유사한 형태의 독립 스레드 스케줄링을 지원합니다.
▲ 튜링 SM 아키텍처(Turing SM Architecture) 튜링 SM은 4개의 프로세싱 블록으로 분할되며, 각 블록은 16개의 FP32 코어, 16개의 INT32 코어, 2개의 텐서 코어, 1개의 워프 스케줄러(Warp Scheduler)과 디스패치 유닛(Dispatch)으로 구성됩니다. 각 블록에는 새로운 L0 명령어 캐시와 64 KB 레지스터 파일이 포함됩니다. 4개의 프로세싱 블록은 96 KB L1 데이터 캐시/공유 메모리(Shared Memory)를 공유하게 됩니다. 기존 방식의 그래픽 워크로드는 96 KB L1/공유 메모리를 64 KB의 전용 그래픽 셰이더 RAM과 32 KB의 텍스처 캐시 및 레지스터 파일 유출 영역으로 분할합니다. 컴퓨트(Compute) 워크로드는 96 KB를 32 KB 공유 메모리와 64 KB L1 캐시 또는 64 KB 공유 메모리와 32 KB L1 캐시로 나눌 수 있죠. 이와 관련하여 FP32 코어와 INT32 코어의 비율이 1:1로 구성된 튜링 아키텍처의 특징은 본 칼럼의 하단에서 소개하는 AIDA64 GPGPU 벤치마크에서 성능으로서 검증이 가능합니다. 파스칼 아키텍처와 비교하여 INT32 연산 성능은 큰 폭으로 차이나기 때문입니다.
현대의 셰이더 워크로드 부하는 일반적으로 FADD 또는 FMAD와 같은 FP 산술 명령이 혼합되어 있는 형태이며 여기에는 데이터 주소 지정 및 가져오기를 위한 정수 추가, 결과 처리를 위한 부동소수점 비교 또는 최솟값/최댓값 등의 간단한 명령어로 구성됩니다. 위 이미지와 같이 실제로 수많은 워크로드를 프로파일링 해보면 100개의 부동소수점(FP) 연산에 대해 평균 36개의 정수(INT) 연산이 일어나고 있습니다. 이전의 셰이더 아키텍처는 이러한 비FP 산술 명령 중 하나가 실행되면, 부동소수점 연산을 위한 데이터 경로가 유휴 상태로 머무르게 됩니다.(즉 비FP 산술 명령이 떨어지면 손을 놓아버리는 상황) 하지만, 튜링 GPU는 모든 CUDA에 두 번째의 병렬 실행 단위를 추가하여 이러한 연산(FP+비FP/INT)을 동시에 실행합니다. 튜링 텐서 코어 | TURING TENSOR CORES
튜링 GPU에는 볼타 GV100 GPU에 처음 도입된 텐서 코어의 향상된 버전이 포함되어 있습니다. 튜링의 텐서 코어 설계는 인퍼런싱(Inferencing) 워크로드에 INT8과 INT4 정밀 모드가 추가되었습니다. 반면, FP16은 높은 정밀도를 요구하는 워크로드에 사용되는 것이고요. 게이밍용 그래픽카드로서는 최초로 GPU에 텐서 코어를 도입함으로써, 게임 애플리케이션에 대한 실시간 딥러닝을 적용할 수 있게 되었습니다. 이를 통해 그래픽, 렌더링, 다양한 유형의 애플리케이션 성능을 향상시키는 엔비디아 NGX 신경 서비스(Neural Service)의 AI 기능을 가속화합니다. NGX AI 기능의 대표적인 예로는 딥러닝 슈퍼샘플링(DLSS), AI InPainting, AI Super Rez, AI Slow-Mo 등이 있습니다. DLSS를 통한 강력한 성능은 퀘이사존 벤치마크에서도 확인한 바 있지만, 문제는 네이티브 해상도와 비교했을 때의 품질 문제가 과제로 남아있는 상황입니다. 최소한 동등하거나 그 이상의 화질을 보장해주어야 박수 받을 수 있는 기술이지만, 아직까지는 충분한 모습을 답해주지 못하고 있기 때문입니다.(물론, AI 특성상 인퍼런싱/트레이닝 연산이 반복될수록 품질과 성능은 개선될 여지가 있습니다)
튜링 텐서 코어는 신경망 트레이닝(Training)/인퍼런싱(Inferencing)과 행렬(매트릭스, Matrix) 곱셈 연산을 가속화합니다. 딥러닝 연산에서 핵심이자 기본이 되는 연산 방식이기도 하죠. 특히 텐서 코어는 인퍼런싱에 탁월한 성능을 발휘하는데, 주어진 입력을 기반으로 트레이닝된 DNN(심층 신경망)을 거쳐 유용하고 관련성 있는 정보를 뽑아냅니다. 인퍼런싱 작업 결과의 대표적인 예로는 페이스북(facebook) 사진 속 친구들의 얼굴 식별, 자율주행자동차의 보행자/위험요소 식별과 분류, 실시간 번역, SNS의 사용자 맞춤형 추천 시스템 등을 꼽을 수 있습니다. ▲ 튜링(Turing) 아키텍처 기반의 RTX 2080 4개가 장착된 영재컴퓨터 워크스테이션 다시 본론으로 돌아오면, 오늘 소개할 영재컴퓨터 시스템이 앞서 설명한 튜링 GPU 아키텍처 기반의 RTX 그래픽카드 특징과 직접적인 연관이 있습니다. 바로 엔비디아 지포스 RTX 2080을 무려 4개(튜링 TU104 GPU x4)를 장착한 워크스테이션이기 때문이죠. 다양한 분야와 작업 환경에서 강력한 성능을 보여줄 것으로 기대됩니다. 특히 그동안의 영재컴퓨터는 게임/작업 용도의 개인용 PC 외에도 자사의 기술 노하우와 경험을 살린 전문 작업 용도의 시스템 설계와 구축을 이어왔기 때문에 더 기대가 되는 부분이기도 하죠. 먼저 영재컴퓨터의 시스템 사양을 살펴보고 바로 성능 테스트로 넘어가도록 하겠습니다. 영재컴퓨터 시스템 사양 |