배정 밀도 부동 소수점 연산 성능을 끌어 올린새로운
GPU 아키텍처 파스칼
GTC의 회장 인 San Jose McEnery Convention Center
NVIDIA는 자사가 주최하는 GPU 컴퓨팅 컨퍼런스 "GPU Technology Conference (GTC) '에서 차세대 하이 엔드 GPU"Tesla P100 (GP100)'를 발표했다. 차세대 GPU 아키텍처 "Pascal (파스칼) '기반의 GPU 컴퓨팅을위한 제품이다. 이전 보고서에서 언급 한 바와 같이, Pascal은 GPU 마이크로 아키텍처 프로세스 기술, 메모리 및 패키지 기술, 프로세서 간 상호 연결의 모든면에서 기술적으로 도약 한 획기적인 GPU가되고있다. 기조 강연에서는 PC 용 메인 스트림을위한 것으로 보인다 Pascal 기반 GPU도 살짝 보여되어 Pascal 아키텍처가 다양한 GPU 라인업에 투입되는 것도 시사되었다.
기술 혁신이 겹친 Pascal 세대
테슬라 P100
GDDR5 판 보인다 메인 스트림 전용 Pascal를 탑재 한 보드를 살짝 보여주는 NVIDIA의
Jen-Hsun Huang (젠슨 황) 씨 (Co-founder, President and CEO)
GTC에서 발표 된 Tesla P100의 NVLink 보드
Pascal은 GPU 내부의 마이크로 아키텍처는 이전 세대의 "Maxwell"에서 쇄신되고있다. 한마디로 말하면, GPU 컴퓨팅 중시 노선에 돌아온 마이크로 아키텍처이다. NVIDIA의 GPU 컴퓨팅 전략에 흔들림이없는 것으로 밝혀졌다 GPU 다.
Maxwell은 다이 면적당 단정 (FP32) 부동 소수점 연산 성능을 끌어 올리는 데 배정 밀도 (FP64) 부동 소수점 연산 성능을 마음껏 깎은. 어느 쪽 일까하고 말하면, PC 그래픽과 모바일에 들렀다 마이크로 아키텍쳐가되고 있었다. 아마 처음에는 NVIDIA는 GPU 컴퓨팅 시장에서 그 이전 세대 Kepler을 계속하고 그래픽 시장을 Maxwell 주도로 병렬시키는 거라고 추측된다. 그러나 계산 정밀도의 요구가 낮은 깊은 학습의 발흥에서 Maxwell도 GPU 컴퓨팅 시장에 투입 한 것으로, NVIDIA의 전략이 다소 이해하기 어려워했다.
Maxwell에서 FP64을 희생 FP32을 강화한 같은 28nm 공정 노드에서 성능을 향상시켜야한다는 제약이 있었기 때문이다. 트랜지스터가 축소하지 않기 때문에 뭔가를 희생하지 않으면 FP32의 성능을 늘릴 수 없었다. 그러나 16nm FinFET 프로세스로 이행 한 Pascal에서 사용할 수있는 트랜지스터의 수가 크게 늘어나 기 때문에 그러한 제약이 없다. 그래서 NVIDIA는 Pascal에서는 마이크로 아키텍쳐를 쇄신하고 FP64 성능을 FP32의 2 분의 1의 균형을 단번에 끌어 올렸다.
Kepler에서 Maxwell까지 동일한 28nm 공정 노드
Maxwell 세대 "Tesla M40 (GM200)」와 비교하면 Pascal Tesla P100의 FP64 성능은 25 배나된다. Kepler 기반의 Tesla K40 (GK110)과 비교해도 3 배의 성능이다. Pascal는 HPC (High Performance Computing) 용도에도 충분히 견딜 수있는 마이크로 아키텍쳐가되고있다. 즉, NVIDIA에게는 3 년반 만에 본격적인 HPC 전용 Tesla 갱신된다.
FP32에 FP16의 피크 성능은 2 배, FP64의 피크 성능은 2 분의 1
공통점도 많다 Maxwell와 Pascal SM (Streaming Multiprocessor)
NVIDIA GPU는 컴퓨팅 시스템의 유닛을 SM (Streaming Multiprocessor)라는 클러스터에 정리하고있다. Maxwell 이후 SM은 또한 프로세싱 블록 (Processing Block)으로 나누어 져있다. 프로세싱 블록은 warp 예약 및 명령 발행 레지스터를 공유하는 블록의 CPU으로 핵심에 해당한다. warp는 NVIDIA 용어의 논리 벡터를 보여 32 요소로 구성된다. 종래의 GPU 용어로 분기 구라뉴라리티이 warp이다. warp는 SIMD (Single Instruction, Multiple Data) 형 실행되지만 프레디 케이션에서 외관상 각 레인을 분기시킬 수 있기 때문에 NVIDIA는 SIMT (Single Instruction, Multiple Thread)라고 부르고있다. warp의 32 슬롯의 명령 스트림도 스레드라고되어 있으며, 1warp 32 스레드 구성된다.
Pascal SM의 블록 다이어그램
PDF 판은 이쪽
Maxwell와 Pascal 마이크로 아키텍처에는 공통성도 강하다. 모두 1 개의 프로세싱 블록에서 32 개의 FP32 CUDA 코어와 8 개의로드 / 스토어 유닛, 8 개의 슈퍼 펑션 유닛 (Special Function Unit : SFU) 2 명령 발행의 명령 유닛 레지스터를 포함 . FP32 CUDA 코어는 단 정밀도 (FP32) 부동 소수점 연산 유닛 SFU는 초월 함수 등을 실행하는 유닛로드 / 스토어는 메모리에서 데이터의 읽기 / 쓰기를 제어한다.
그러나 GPU SM의 구성은 Pascal과 Maxwell에서 크게 다르다. Pascal SM은 Maxwell SM을 반으로 자른 것 같은 구조로되어있다. Maxwell SM은 프로세싱 블록이 4 개로, FP32 CUDA 코어가 총 128 개의 구성이었다. 반면 Pascal SM은 프로세싱 블록이 2 개로, FP32 CUDA 코어가 총 64 개의 구성으로되어있다.
Maxwell SM의 블록 다이어그램
PDF 판은 이쪽
Maxwell SM 구성
Pascal SM 구성
3 세대 아키텍처의 SM의 스펙 비교
Maxwell SM을 분할 한 Pascal SM
Maxwell SM에서는 4 개의 프로세싱 블록에 96KB의 공유 메모리와 명령어 캐시를 공유하는 구조였다. 반면 Pascal SM에서는 입도가 낮아져 2 개의 프로세싱 블록에 64KB의 공유 메모리와 명령어 캐시를 공유하고있다. 즉, 자원의 공유 비율이 줄어들고 개별 프로세싱 블록이 더 많은 공유 리소스 및 공유 자원의 대역을 사용할 수있게되었다. 프로세싱 블록 당 공유 메모리의 양은 Maxwell가 24KB에 Pascal가 32KB이다. 공유 메모리 대역은 2 배가되고있다. Maxwell에서 Pascal에서 메모리 계층 구조 자체는별로 변하지 않았다.
Maxwell SM 구성
Pascal SM 구성
Pascal과 Maxwell의 메모리 계층
PDF 판은 이쪽
Pascal과 Maxwell도 각 프로세싱 블록의 명령 발행은 2 명령 / 사이클에서 2 명령은 같은 warp에서 발행된다. 이전 기사에서 설명했듯이, Pascal은 Maxwell보다 인플에서 시작할 수 warp 수는 두배로하고 그만큼 더 많은 명령을 충전 할 수있다. 해당하여 레지스터 파일도 Maxwell보다 두배되어있다.
덧붙여서,이 블록도는 GPU 컴퓨팅에 대한 블록도이고, 그래픽이 약간 표현이 다를 수있다. Maxwell은 SM마다 지오메트리 연산의 고정 기능 유닛이 포함되어 있었다. 정점 페치 및 테셀 레이터 뷰 포인트 변환 등이다. 그러나 Pascal에서는 SM이 2 개의 프로세싱 유닛 구성되므로 각 SM마다 지오메트리 유닛이 묻 으면 균형이 무너진다. 아마도 Pascal 그래픽시의 구성은 2 개의 SM마다 지오메트리 유닛 군이 함께 "Texture / Processor Cluster (TPC)"클러스터를 구성하는 것으로 추측된다. 아래 추측도이다.
Pascal의 Texture / Processor Cluster (TPC)의 추정도
PDF 판은 이쪽
스펙 표에도 Pascal의 TPC는 2SM 구성으로 기록되어있다
각 블록마다 16 단위 상당의 FP64 성능
Pascal의 SM에서는 연산 장치가 대폭 강화되었다. Maxwell에서는 FP64은 SM 당 4 계명 / 사이클, 즉 하나의 프로세싱 블록 당 1 단위 상당의 FP64 성능이었다. FP32에 FP64 성능은 32 분의 1이었다. 반면 Pascal에서는 FP64는 FP32의 2 분의 1의 성능으로 점프했다. 따라서 NVIDIA의 공식 블록 다이어그램에서도 FP64 CUDA 코어가 도상에 명기되었다.
사실, FP64와 FP32은 부분적으로 자원을 공유하는 것으로 보인다. FP64은 32 스레드의 warp 명령을 2 사이클 당 명령 발행하기 때문에 warp 명령을 1 명령 /주기 FP32의 절반의 처리량이된다. 따라서 아래의 그림에서는 편의적으로, Pascal SM 블록은 16 개의 FP64 CUDA 코어로 그리고있다. 마찬가지로, Maxwell은 SM 전체에서 FP64는 4 스레드 / 사이클이기 때문에 편의상 Maxwell SM 블록 다이어그램에서 각 1 개의 FP64 유닛으로 묘사하고있다.
왼쪽이 Pascal 프로세싱 블록, 오른쪽이 Maxwell 프로세싱 블록
PDF 판은 이쪽
또한 Pascal에서는 팍 크드 FP16이 지원되었다. 기존에는 반 정밀도 (FP16) 부동 소수점 연산은 FP32 CUDA 코어에서 실행되고 FP32과 같은 처리량이었다. Maxwell 세대라면 1 프로세싱 블록 당 FP32와 FP16 함께 32 요소 / 사이클이었다. 그러나 Pascal에서는 2-way의 SIMD (Single Instruction, Multiple Data) 형의 FP16이 지원되었다. 따라서 32 개의 CUDA 코어에서 각 사이클 32 요소의 FP16 연산이 가능 해지고있다.
팍 크드 FP16
PDF 판은 이쪽
그러나이 FP16는 SIMD 형태의 팍 크드 (SIMD) 연산이기 때문에 FP32와 FP64처럼 각각의 요소에 대한 명령이 서로 다른 방향으로 분기 한 경우 외관상 분기 한 것처럼 처리하는 프레디 케이션은 행할 수 없다. 어느 정도 사용이 제한된다. 하지만 FP16 집약적 깊은 학습의 경우 분기하지 않기 때문에 팍 크드 FP16을 유효하게 사용할 수있다. 팍 크드 FP16는 NVIDIA의 모바일 SoC "Tegra X1」의 Maxwell 코어에서 처음으로 채용되고있다.
Maxwell의 Tesla 대해 Pascal에서는 FP16 성능이 3 배
깊은 학습을 의식한 2-way SIMD 형의 FP16 포맷의 도입
팍 크드 FP16의 도입으로 Pascal의 FP16 성능은 급증했다. Tesla P100의 스펙에서는 FP16은 21.2TFLOPS. Maxwell Tesla M40의 7TFLOPS에 3 배이다. FP32 성능은 Maxwell 대해 Pascal Tesla P100은 10.6TFLOPS와 1.5 배 밖에 오르지 않았다 때문에 NVIDIA는 마케팅으로 FP16의 성능을 전면에 내세우고있다. 그러나 많은 HPC 고객은 Kepler Tesla K40이기 때문에 Pascal에서 FP32 성능도 Kepler의 4.3TFLOPS에서 2.47 배에 오른다.
3 세대의 Tesla의 성능 비교
부동 소수점 부호 부 지수, 가수 부 3 부 형식으로 구성된다. IEEE 754 표준은 FP32는 "s8.23 '부호 부 1-bit / 지수 8-bit / 가수 부 23-bit 포맷이다. 이에 대해 FP16는 "s5.10 '부호 부 1-bit / 지수 5-bit / 가수 부 10-bit된다. 다이나믹 레인지는 2의 40 승. 또한 비정상 값 (subnormal number)의 하드웨어 지원도있다. 이 소프트웨어 처리되면, 성능이 크게 떨어지는 경우가 나온다.
FP16은 GPU에게 새롭고 오래된 포맷이다. 그래픽 정수에서 부동 소수점으로 전환 할 때 데이터 량을 줄이기 위해 FP16가 도입되어 활발하게 사용되었다. 그래픽은 현재도 사용되고 있지만, 같은 데이터 량을 줄일 목적으로 딥 학습에도 채용이 진행되고있어 갑자기 각광을 받고있다. FP16 성능은 GPU 아키텍처의 새로운 초점이되고있다. NVIDIA가 Pascal (파스칼)을 깊은 학습을 위해 만들었다 고
주장하는 근거의 큰 부분이 FP16의 지원에있다.
마이크로 아키텍처가 일신 된 Pascal하지만, 그 이상으로 바뀐 것은 메모리와 포장, 그리고 인터커넥트이다. Tesla P100은 일반 PCI Express 보드가 아닌 NVLink 보드에서 제공된다. 메모리는 스택 구조의 HBM2이다. 그리고이 HBM2이 Pascal의 강력한 무기 인 동시에 약점이되고있다. 양산을 시작한지 얼마 안된 HBM2 공급이 Tesla P100의 수요를 따라 가지 않기 때문이다. 다음은 Pascal의 인터페이스 방향을보고 싶다.
Pascal Tesla P100 (GP100)의 HBM2 메모리
번호 | 분류 | 제목 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 사진📸 | 사랑LOVE 포인트 만렙! 도전 | 2025.03.19 | 4644 |
공지 | 안내 | 🚨(뉴비필독) 전체공지 & 포인트안내 2 | 2024.11.04 | 25845 |
공지 | System | URL만 붙여넣으면 끝! 임베드 기능 | 2025.01.21 | 20431 |
375786 | 일반 | Synology의 4 베이 NAS 장비 "DiskStation DS416j" | 2016.02.08 | 1456 |
375785 | 일반 | 태블릿 PC의 충전을하면서 주변 기기를 사용할 수있는 OTG 지원 USB 허브 | 2016.02.08 | 1434 |
375784 | 일반 | 카페베네 상장 난항에 투자자 눈물 | 2016.02.15 | 776 |
375783 | 일반 | 주식, 욕심은 화를 부르고. 그 화는 고스란히 가족들에게 짜증을 부릴겁니다 | 2016.02.22 | 789 |
375782 | 일반 | 원익IPS 추천합니다 | 2016.02.22 | 676 |
375781 | 일반 | 장이 너무 안좋네요 ㅜㅜ | 2016.02.22 | 707 |
375780 | 일반 | 주식투자와 관련된 주식명언 | 2016.02.22 | 999 |
375779 | 일반 | i5-6600 i5-6500 비교 1 | 2016.02.22 | 1434 |
375778 | 일반 | ssd좀봐주세요 2 | 2016.02.27 | 906 |
375777 | 일반 | 크라운제과 어떻게 보시나요? | 2016.02.28 | 458 |
375776 | 일반 | 흑자예상하며 기다린보람이 있군 | 2016.02.28 | 471 |
375775 | 일반 | 세계 주식 주요 지수 보는곳 입니다.모르시는분들을 위해 | 2016.02.28 | 646 |
375774 | 일반 | 한 2월 말쯤 총선테마가 시작될걸로 예상합니다. | 2016.02.28 | 562 |
375773 | 일반 | 대중관계 악화로 중국에서 돈버는 기업들 급락이네요 | 2016.02.28 | 684 |
375772 | 일반 | 주식 생초보인데 알려주실수 있으신가요? | 2016.02.28 | 515 |
375771 | 일반 | 11시정도만 잘 넘기면 될거같은데.. | 2016.02.28 | 478 |
375770 | 일반 | 요즘 한종목에 꽂혀서 분할매수하는데요. | 2016.02.28 | 565 |
375769 | 잡담 | 국정원에서 해킹 프로그램을 구매한 내용들 (영상) | 2016.03.01 | 807 |
375768 | 일반 | 본인 명의로 핸드폰 두개 개설 하면 문제 생기나요? 1 | 2016.03.01 | 1154 |
375767 | 잡담 | 샤오미5 Xiaomi5 | 2016.03.02 | 815 |
375766 | 일반 | 단말기대금 일시불납 가능한가요? 1 | 2016.03.05 | 781 |
375765 | 일반 | 노트4 배터리 공유?? 1 | 2016.03.05 | 1749 |
375764 | 일반 | 금호타이어 어떻게 보시나요? | 2016.03.05 | 650 |
375763 | 일반 | 해외에서 사용하던 도메인을 구입했는데 헉.. | 2016.03.09 | 568 |
375762 | 일반 | 축구 페널티킥 선방 탑10 | 2016.03.12 | 469 |
375761 | 일반 | SSD의 성능을 유지하기위한 유지 관리 기술 | 2016.03.15 | 1068 |
375760 | 일반 | 저렴한 Skylake 버전 Xeon 마더보드 'GA-X150M-PRO ECC」 | 2016.03.15 | 874 |
375759 | [인케이스백팩]나는 인케이스 백팩이 탐난다. | 2011.04.02 | 602 | |
375758 | 잡담 | 이쁜 얼굴 만드는 미용 비법 53가지 - 얼굴 예뻐지는 법 - [피부 관리] 3 | 2011.04.23 | 609 |
375757 | 유이-애프터스쿨 유이 사진모음-[유이 애프터스쿨] | 2011.04.29 | 504 |