NVIDIA Titan RTX (TU102-400A-A1, 4608 CUDA cores, 24 GB memory)에 대한 세부 정보 정리

최근에 장만하였던 워크스테이션 급 가정용 PC에 Titan RTX를 장착했었고,
PC 스펙 결정 및 조립 과정들에 대한 글들을 이전에 포스팅 하였었다. 본체를 구성하는 데 약 절반 정도의 가격을 차지했던 Titan RTX에 대한 세부 정보를 정리해보겠다.
아래는 본체 조립할 때 사용되었던 Titan RTX의 사진들이다.

Titan RTX는 Turing 아키텍쳐 기반의 GPU인 TU102의 풀칩 TU102-400A-A1를 탑재하고 있다(384-bit의 메모리 인터페이스 및 4608개의 CUDA Cores를 갖추고 있다). 참고로, RTX 2080 Ti의 TU102는 커팅칩 TU102-300A-K1-A1이며 4608개의 CUDA 코어가 모두 활성화된 Full Chip은 아니다(72개의 Streaming Multiprocessors(SM) 중 4개 비활성된 4352개 CUDA 코어만 활성화, 메모리 인터페이스 352-bit). TU102라고 다 같은 TU102가 아니다. 아래는 퀘이사존에 잘 정리된 몇몇 주요 NVIDIA GPU들의 스펙이다. ROPs는 Render Output Pipelines을 뜻하며, TMU는 Texture Mapping Unit을 뜻한다. 완전 하이엔드 급의 속도를 보여주는 GPU는 아니더라도, 그것만 제외하면 괴물 같은 GPU이다. 현 시점에서 가정에서 사용할 만한 연산용 GPU 중에선 가장 좋은 것 같다. (물론, 비용 문제가 없다던가 전기료 걱정이 전혀 없다던가 한 경우는 논외이다.)

위 Titan RTX 세부 정보들을 좀 더 적어보겠다. 그 후 위 스펙 상의 일부 수치들이 및 다른 중요 숫자들이 어떻게 계산된 것인가도 정리해두겠다.

세부적으로는 TU102-400A-A1 GPU는 PCI Express 3.0 Host Interface, GigaThread Engine,
12개의 Memory Controller(DRAM 컨트롤러, 각 8개의 Render Output Pipeline과 1개의 512 KB L2 캐시 포함), High-Speed Hub, NVLink(Two x8 Links),
6개의 Graphics Processing Clusters(GPC)로 구성되어 있다.
각 GPC에는 전용 Raster Engine 1개와 Texture Processing Clusters(TPC) 6개를 포함한다.
각 TPC2개의 Streaming Multiprocessors(SM)으로 구성되며,
각 SM은 1개의 96 KB L1 & Shared Memory 캐시(64 KB & 32 KB or 64 KB & 32 KB), 1개의 Ray Tracing(RT) Core, 4개의 프로세싱 블록(Processing Block)으로 구성된다.
각 프로세싱 블록은 64 KB 레지스터 파일(Register File), 1개의 워프 스케줄러(Warp Scheduler), 1개의 디스패치 유닛(Dispatch Unit), 1개의 텍스처 맵핑 유닛(Texture Mapping Unit(TMU)), 2개의 텐서 코어(Tensor Core), 16개의 CUDA Cores가 포함된다.
각 CUDA core는 1개의 FP32 Core와 1개의 INT32 코어로 구성된다.
튜링 SM은 FP32와 INT32 작업을 동시 수행하는 것이 가능하며, 독립 스레드 스케쥴링도 가능하다.

따라서, 하나의 TU102-400A-A1를 구성하는 중요 요소들의 개수들을 아래와 같이 정리해보면
SM 수는 72개로 계산되고(2 SM/TPC * 6 TPC/GPC * 6 GPC/TU102-400A-A1 = 72 SM/TU102-400A-A1),
RT 코어의 수는 72개로 계산되고(1 RT/SM * 2 SM/TPC * 6 TPC/GPC * 6 GPC/TU102-400A-A1 = 72 RT/TU102-400A-A1),
ROP의 수는 96개로 계산되고(8 ROP/memory controller * 12 memory controller/TU102-400A-A1 = 96 ROP/TU102-400A-A1),
레지스터 파일(L0 캐시)의 총 용량은 18 MB로 계산되고(1 MB/1024 KB * 64 KB of register file/processing block * 4 processing block/SM * 2 SM/TPC * 6 TPC/GPC * 6 GPC/TU102-400A-A1 = 18 MB of register file/TU102-400A-A1),
L1 캐시의 총 용량은 6.75 MB로 계산되고(1 MB/1024 KB * 96 KB of L1 & shared memory cache/SM * 2 SM/TPC * 6 TPC/GPC * 6 GPC/TU102-400A-A1 = 6.75 MB of L1 & shared memory cache/TU102-400A-A1),
L2 캐시의 총 용량은 6 MB로 계산되고(1 MB/1024 KB * 512 KB of L2 cache/memory controller * 12 memory controller/TU102-400A-A1 = 6 MB of L2 cache/TU102-400A-A1),
TMU의 수는 288개로 계산되고(1 TMU/processing block * 4 processing block/SM * 2 SM/TPC * 6 TPC/GPC * 6 GPC/TU102-400A-A1 = 288 TMU/TU102-400A-A1),
텐서 코어의 수는 576개로 계산되고(2 tensor core/processing block * 4 processing block/SM * 2 SM/TPC * 6 TPC/GPC * 6 GPC/TU102-400A-A1 = 576 tensor core/TU102-400A-A1),
쿠다 코어의 수는 4608개로 계산된다(16 CUDA core/processing block * 4 processing block/SM * 2 SM/TPC * 6 TPC/GPC * 6 GPC/TU102-400A-A1 = 4608 CUDA core/TU102-400A-A1).

%d 블로거가 이것을 좋아합니다: