엔비디아 파스칼, 최대 3840 쿠다 코어 탑재 및 DP 연산 성능도 개선해

하드웨어 이야기|2016. 4. 6. 20:24

엔비디아 파스칼최대 3840 쿠다 코어 탑재 및 DP 연산 성능도 개선해 

 

- 작성자 : 세비지-

 

엔비디아 (NVIDIA)는 올해 새로운 아키텍처 기반의 차세대 파스칼 (Pascal) GPU를 공개할 것으로 알려진 가운데 GTC 2016을 통해 파스칼에 대한 주요 내용을 공개했습니다.

 

이번에 공개된 파스칼 아키텍처는 전문가용 테슬라 P100 (Tesla P100)을 기반으로 소개되었고 이 GPU는 새로운 파스칼 GP100 GPU를 이용합니다. 테슬라 P100은 고성능 컴퓨팅을 위한 HPC, 기술 컴퓨팅, 딥 러닝 (Deep Learning)과 데이터 센터와 같은 대량의 컴퓨팅 작업 등에 최적화된 GPU입니다.

 

 

파스칼 GP100 GPU 기반의 테슬라 P100 (Tesla P100)

 

 

파스칼 GP100 GPU를 기반으로 하는 테슬라 P100은 16nm FinFET 공정으로 고성능과 다양한 기능, 전력 효율을 향상하며 높은 대역폭 확보가 가능한 NVLink와 스택 방식의 빠르고 높은 메모리 대역폭 확보가 가능한 HBM2 (2세대 HBM, High Bandwidth Memroy) 탑재, 프로그래밍 유연성을 위한 통합 메모리 (Unified Memory) 향상 등을 제공합니다.

 

파스칼 GP100 GPU의 아키텍처는 그동안의 엔비디아 GPU가 제공한 기본 구조를 토대로 발전된 모습을 제공합니다. SM (Streaming Multiprocessor)과 관리, 스케쥴, 명령 실행 등과 같은 많은 병렬 스레드를 처리합니다.

 

 

성능과 전력 효율 증가한 파스칼 GP100, 3840 쿠다 코어와 240 텍스처 유닛 탑재

 

 

테슬라 P100에 사용된 GP100은 6개의 GPC (Graphics Processing Clusters)로 구성되며 최대 60 SM, 8개의 512bit 메모리 컨트롤러 (전체 4096bit)를 구성합니다.

 

각 SM은 64 쿠다 코어 (CUDA Cores)와 4개의 텍스처 유닛을 제공해 전체 3840 쿠다 코어와 240 텍스처 유닛을 탑재합니다. 테슬라 P100은 28 TPC와 56SM으로 3584 쿠다 코어와 224 텍스처 유닛을 바탕으로 싱글 프리시전 (SP)은 10.6 TFLOPS, 더블 프리시전 (DP)은 5304 GFLOPS (FP64)의 처리 성능을 제공합니다. 

 

엔비디아는 케플러 (Kepler)와 맥스웰 (Maxwell)을 거치면서 성능을 끌어올리면서도 전력 효율을 향상해왔습니다. 파스칼에서도 성능 향상과 전력 효율의 2가지 목표를 지키고 있으며 맥스웰 대비 와트당 성능이 증가했습니다. TSMC의 16nm FinFET 제조 공정을 도입하면서 더 많은 트랜지스터를 집적해 성능을 높이면서도 전력 효율을 개선할 수 있게 되었습니다.

 

트랜지스터의 수는 케플러 GK110 GPU가 71억개 (7.1Billion), GM200 GPU는 80억개 (8Billion), GP100이 153억개 (15.3Billion)이며 GPU 다이 사이즈는 GK110이 551mm^2, GM200이 601mm^2, GP100이 610mm^2, TDP 스펙은 순서대로 235W, 250W, 300W입니다.

 

 

SM 내부 구조는 케플러나 맥스웰과 차이를 보이나 파스칼은 64 싱글 프리시전 (Single Precision, FP32) 쿠다 코어를 탑재한데 반해 맥스웰은 128 FP32, 케플러는 192 FP32 쿠다 코어를 제공합니다. 파스칼 GP100의 SM은 2개의 프로세싱 블럭에 각각 32 싱글 프리시전 (SP) 쿠다 코어를 제공하고 명령 버퍼와 왑 스케쥴러 (Warp Scheduler), 2개의 디스패치 유닛을 제공합니다.

 

맥스웰 SM 대비 GP100의 SM은 절반의 쿠다 코어를 탑재합니다. 레지스터 파일 사이즈는 동일하고 유사한 왑과 스레드 블럭을 형성합니다. GP100 SM의 레지스터 수는 맥스웰 GM200과 케플러 GK110 SM과 같으나 더 많은 SM을 가진 GP100이기에 전체 레지스터 수는 늘어났습니다. 이를 통해 GPU는 더 많은 레지스터에 액세스하고 스레드 블록과 왑 접근 등을 통해 이전 세대 대비 더 많은 스레드를 지원할 수 있게 됩니다.

 

 

부동소수점연산 성능 개선, 더블 프리시전 (DP) 비율은 2:1

 

 

SM 수가 증가해 GP100 GPU는 전체 공유 메모리도 증가하며 2배의 메모리 대역폭 효율을 제공합니다. SM 당 높은 비율의 공유 메모리와 레지스터, Warps의 증가는 SM을 더 효율적으로 동작하도록 하는 역할을 합니다.

 

케플러와 비교해 파스칼의 SM은 간략해진 데이터 패스 구조를 통해 데이터 전송시 더 적은 면적과 적은 전력을 소모하도록 해줍니다. 향상된 스케쥴링과 부동소수점 처리 효율을 늘렸습니다. 맥스웰 스케쥴러와 비교해 파스칼 GP100 스케쥴러는 보다 지능적이면서 성능을 높였으며 전력 소모는 더 줄어든 것이 특징입니다. 프로세싱 블럭 당 하나의 Warp 스케쥴러는 클럭 당 2개의 Warp 명령어를 디스패치 가능합니다.

 

또하나 주목할 것은 더블 프리시전 (DP, Douple Precision) 성능이 케플러나 맥스웰 대비 향상되었습니다. 높은 연산 성능을 요구하는 HPC나 기술 컴퓨팅에서 GP100은 높은 DP 성능을 구현합니다. GP100의 SM은 32 FP64 유닛을 탑재하며 싱글 프리시전 (SP)와 더블 프리시전 (DP) 비율은 2:1로 케플러 GK100의 3:1, 맥스웰 GM200의 32:1과 비교해 FP64 작업을 효율적으로 처리 가능합니다. GP100은 풀 IEEE 754-2008 싱글 프리시전과 더블 프리시전 호환, FMA (Fused Multiply-Add) 등을 지원합니다.

 

보통 DP 연산을 위해서는 더 많은 GPU 전력과 공간을 요구하는데 파스칼 GP100은 16nm FinFET 공정을 기반으로 맥스웰 GM200 대비 크게 증가하지 않은 다이 사이즈에 더 많은 DP 유닛을 넣고 전력 효율까지 향상할 수 있게 되었습니다.

 

맥스웰은 네이티브 하드웨어 지원으로 공유 메모리 Atomic 동작을 기존 페르미 (Fremi)나 케플러가 소프트웨어에 의존해 발생했던 오버헤드를 줄였는데 파스칼 GP100은 이에 더해 atomic 처리 향상을 위해 FP64 atomic add 명령값을 전역 메모리에 제공합니다. 이를 통해 공유 데이터를 읽고 수정하고 쓰는 일련의 과정을 효율적으로 처리해 병렬 프로그래밍 효율을 향상합니다.

 

 

HBM2 탑재한 테슬라 P100

 

오늘날의 많은 주요 어플리케이션들에서는 메모리 대역폭으로 병목현상이 발생하고 있으며 특히 HPC 분야에서는 더욱 더 크게 작용합니다. 컴퓨팅 성능을 위한 메모리는 대역폭과 용량이 주요한 변수로 떠오르고 있습니다.

 

그래픽 메모리로 사용되는 GDDR5 메모리는 더 높은 속도를 내주기 어려워지고 있어 대안으로 마이크론 (Micron) 주도의 GDDR5X와 AMD가 지난해 발표한 라데온 R9 퓨리 (Radeon R9 Fury) 시리즈에 탑재한 HBM (High Bandwidth Memroy)가 주목받고 있습니다.

 

파스칼 GP100 기반 테슬라 P100은 이전의 예상대로 HBM2 메모리를 이용합니다. HBM2는 기존 그래픽 메모리 대비 대역폭은 증가하고 용량도 2배 이상, 전력 효율도 개선됩니다. HBM은 적층형으로 메모리를 여러 개 쌓으며 TSV (Through Silicon Vias)와 마이크로범프로 연결해 데이터를 전송합니다. 하나의 8Gb HBM2 다이는 5000 TSV 홀을 제공하며 실리콘 인터포저를 이용해 메모리와 GPU 다이를 연결하고 패키지는 55mm x 55mm BGA로 구성됩니다.

 

테슬라 P100에는 4개의 4-die HBM2 스택으로 이루어져 총 16GB 메모리와 최대 720GB/s의 대역폭을 구현합니다. 이는 테슬라 M40 대비 3배 이상입니다. HBM2는 ECC (Error Correcting Code)도 네이티브로 지원합니다.

 

ECC는 HPC 분야 등 데이터 무결성이 중요한 작업에서 유용하게 사용됩니다. ECC bits는 non ECC 상황보다 메모리 대역폭을 감소시키는 요인으로도 작용하는데 HBM2는 네이티브로 ECC를 지원함으로써 대역폭에의 영향을 최소화합니다. 테슬라 P100은 GPU 레지스터 파일과 공유 메모리, L1 캐쉬와 L2 캐쉬 외에도 HBM2의 Single Error Correct Double Error Detect (SECDED) ECC 코드를 제공합니다.

 

 

고속 인터페이스인 NVLink 탑재와 프로그래밍 유연성 향상

 

 

고속의 인터페이스인 NLink도 제공합니다. GPU 가속 컴퓨팅에 중요한 기술 중 하나로 파스칼 GP100 GPU를 통해 구현합니다. GPU와 GPU 사이 (GPU-to-GPU) 커뮤니케이션, GPU에서 시스템 메모리 접근에서 모두 성능을 향상합니다. NVLink는 PCI-Expres Gen 3 (PCIe Gen 3) 대비 더 향상된 대역폭을 제공하며 NVLink에 연결된 GPU는 다른 GPU의 메모리와 로컬 메모리에 직접 접근해 효율을 높여줍니다.

 

NVLink는 엔비디아의 새로운 고속 시그널링 인터커넥트 (NVHS, NVIDIA High-Speed Signaling interconnect)를 이용하며 전송 데이터는 최대 20Gb/s, 싱글 링크는 최대 40GB/s의 양방향 대역폭, GPU와 GPU, GPU와 CPU가 연결되어 이용 가능합니다. 테슬라 P100은 최대 4개의 링크로 이론상 최대 160GB/s 양방향 대역폭 구현이 가능합니다.

 

NVLink는 IPM PowerPC와 호환되며 듀얼 NVLink 지원 CPU가 4개의 GPU 시스템과 연결 가능한데 이때 각 GPU는 120GB/s 양방향 대역폭, CPU는 40GB/s의 양방향 대역폭을 제공합니다.

 

 

CUDA 6 공유 메모리 (Unified Memory)로 확장된 파스칼 GP100은 보다 간결해진 프로그래밍과 메모리 공유가 가능해졌습니다. 주소 공간 확대와  CPU와 GPU 사이에서 보다 쉽게 CPU 병렬 컴퓨팅 어플리케이션 포팅과 속도를 높여줍니다. GP100의 GPU 어드레싱은 49bit 가상 어드레싱으로 현재의 CPU가 제공하는 48bit 가상 어드레스 공간을 제어 가능합니다. 결과적으로 GP100의 통합 메모리는 어떤 하나의 프로세서 물리 메모리에 제한되지 않고 CPU와 GPU의 주소 공간을 모두 엑세스하고 이용 가능합니다.

 

 

데스크탑용 파스칼 GP100/ GP104 GPU는?

 

 

한편 이번 파스칼 GP100 GPU 기반의 테슬라 P100의 등장을 통해 파스칼 아키텍처가 가진 특징들이 확인되었습니다. 16nm FinFET 공정을 통해 더 많은 트랜지스터 집적을 통해 실행 유닛 증가로 성능이 향상되고 전력 효율도 맥스웰을 이어 개선되었습니다. 부동소수점연산 성능도 DP 유닛 증가로 컴퓨팅 처리 능력이 강화되었고 고속의 NVLink, 높은 대역폭 구현이 가능한 HBM2, 향상된 프로그래밍 유연성과 알고리즘을 제공합니다.

 

테슬라 P100이 파스칼 GP100을 기반으로 하는데 데스크탑용 GM200 맥스웰 기반 지포스 GTX 980 Ti (GeForce GTX 980 Ti)와 지포스 GTX TITAN X (GeForce GTX TITAN X)을 대체하는 플래그십도 기존처럼 GP100 GPU를 기반으로 등장이 예상됩니다. 테슬라 P100이 TDP 300W 정도로 나타나는데 데스크탑용은 이를 조정하거나 유사한 스펙을 유지할 가능성도 있어 보입니다.

 

GM204 기반 지포스 GTX 980 (GeForce GTX 980)은 GP104로 알려진 GPU로 전환할 예정인데 GP104 기반은 데스크탑에 적합하게 DP 연산 성능을 줄이는 대신 성능과 전력 효율에 보다 집중할 것으로 예상되며 이는 기존 엔비디아의 데스크탑용과 전문가용 그래픽카드 사이의 관계와 크게 달라지지 않을 것으로 예상됩니다.

 

최근 전해진 루머에는 엔비디아가 컴퓨텍스 2016 (Computex 2016)을 통해 GDDR5X를 이용하는 GP104 기반 지포스 GTX 1070 (GeForce GTX 1070)과 지포스 GTX 1080 (GeForce GTX 1080)을 공개할 것으로 알려진 바 있습니다.

 

 

 

내용 참고 : https://devblogs.nvidia.com/parallelforall/inside-pascal/

 

 

 

댓글()