케플러 (마이크로아키텍처)
Kepler (microarchitecture)발매일 | 2012년 4월 |
---|---|
제조 프로세스 | TSMC 28 nm |
역사 | |
전임자 | 페르미 |
후계자 | 맥스웰 |
케플러(Kepler)는 Nvidia가 개발한 GPU 마이크로아키텍처의 코드명으로,[1] 2012년 4월 소매점에서 Fermi 마이크로아키텍처의 후속 제품으로 처음 소개되었습니다.케플러는 에너지 효율에 초점을 맞춘 엔비디아 최초의 마이크로 아키텍처였다.대부분의 GeForce 600 시리즈, 대부분의 GeForce 700 시리즈 및 일부 GeForce 800M 시리즈 GPU는 모두 28 nm로 제조된 케플러를 기반으로 했습니다.또한 Kepler는 Tegra K1 SoC의 GPU 구성 요소인 GK20A와 Quadro Kxx 시리즈, Quadro NVS 510 및 Nvidia Tesla 컴퓨팅 모듈에서도 사용되었습니다.케플러는 맥스웰 마이크로 아키텍처에 이어 지포스 700 시리즈와 지포스 800M 시리즈에서 맥스웰과 함께 사용되었다.
이 건축물은 17세기 과학혁명의 핵심 인물이자 독일 수학자인 요하네스 케플러의 이름을 따서 지어졌다.
개요
이전 Nvidia 아키텍처의 목표는 컴퓨팅 및 테셀레이션 성능 향상에 초점을 맞춘 설계였지만 Nvidia는 Kepler 아키텍처에서 효율성, 프로그래밍 가능성 및 [2][3]성능에 초점을 맞췄습니다.이 효율의 목표는 통합 GPU 클럭의 사용, 명령의 정적 스케줄의 심플화, [4]와트 성능의 강조를 통해 달성되었습니다.이전 GPU 설계에 있던 셰이더 클럭을 버림으로써 더 높은 수준의 성능을 얻기 위해 추가 코어가 필요하지만 효율성이 향상됩니다.이는 코어가 보다 전력 친화적일 뿐만 아니라(Nvidia의 조사에 따르면 2개의 Kepler 코어가 1개의 Fermi 코어의 90%의 전력을 사용), 통합 GPU 클럭 스킴으로 변경함으로써 해당 [5]영역의 소비전력을 50% 절감할 수 있기 때문입니다.
프로그래머빌리티 목표는 Kepler의 Hyper-Q, Dynamic Parallelism 및 여러 새로운 Compute Capabilities 3.x 기능을 통해 달성되었습니다.이를 통해 GK GPU를 통해 GPU 사용률을 높이고 코드 관리를 단순화할 수 있으므로 Kepler [6]GPU의 프로그래밍에 보다 유연성이 높아졌습니다.
마지막으로 성능 목표와 더불어 추가 실행 리소스(더 많은 CUDA 코어, 레지스터 및 캐시)와 7GHz의 메모리 클럭 속도를 달성하는 Kepler의 기능을 통해 이전 Nvidia [5][7]GPU와 비교하여 Kepler의 성능이 향상되었습니다.
특징들
GK 시리즈 GPU에는 이전 세대의 Fermi와 최신 세대의 Kepler 기능이 모두 포함되어 있습니다.케플러 기반 구성원은 다음과 같은 표준 특징을 추가합니다.
- PCI Express 3.0 인터페이스
- DisplayPort 1.2
- HDMI 1.4a 4K x 2K 비디오 출력
- Purevideo VP5 하드웨어 비디오 액셀러레이션 (최대 4K x 2K H.264 디코드)
- 하드웨어 H.264 부호화 액셀러레이션블록(NVENC)
- 최대 4개의 독립된 2D 디스플레이 또는 3개의 입체/3D 디스플레이(NV 서라운드) 지원
- 차세대 스트리밍 멀티프로세서(SMX)
- 폴리모프 엔진 2.0
- 단순 명령 스케줄러
- 바인드리스 텍스처
- CUDA 컴퓨팅 기능 3.0~3.5
- GPU 부스트 (GK110에서는 2.0으로 업그레이드)
- TXAA 지원
- TSMC가 28 nm 공정으로 제조
- 새로운 셔플 순서
- 동적 병렬 처리
- Hyper-Q(Hyper-Q의 Tesla 전용 MPI 기능 예약)
- 그리드 관리 유닛
- NVIDIA GPU Direct (GPU Direct의 Tesla 전용 RDMA 기능 예약)
차세대 스트리밍 멀티프로세서(SMX)
Kepler 아키텍처는 "SMX"라고 불리는 새로운 스트리밍 멀티프로세서 아키텍처를 채택하고 있습니다.SMX는 전체 GPU가 단일 통합 클럭 [5]속도를 사용하기 때문에 Kepler의 전력 효율의 이유입니다.SMX는 단일 통합 클럭을 사용하면 저클럭의 케플러 CUDA 코어가 고클럭의 페르미 CUDA 코어보다 전력 소모가 90% 적기 때문에 전력 효율이 높아지지만 사이클당 전체 워프를 실행하기 위해서는 추가 처리 장치가 필요하다.CUDA 어레이당 16~32배로 증가하면 워프 실행 문제가 해결되며 SMX 프론트 엔드는 워프 스케줄러, 디스패치 유닛 및 레지스터 파일이 64K 엔트리로 2배 증가하여 추가 실행 유닛을 공급한다.다이 영역이 팽창할 위험이 있으므로 SMX PolyMorp Engine은 실행 유닛에 따라 2배가 아닌 2.0으로 강화되어 짧은 사이클로 폴리곤을 가속할 수 있습니다.SMX당 [8]192개의 셰이더가 있습니다.모든 Kepler CUDA 코어가 다이 공간을 절약하는 FP64를 지원하지 않기 때문에 전용 FP64 CUDA 코어도 사용됩니다.Nvidia가 SMX 상에서 개량한 결과 GPU의 퍼포먼스와 효율이 향상되었습니다.GK110에서는 컴퓨팅 워크로드용으로 48KB 텍스처 캐시가 잠금 해제됩니다.컴퓨팅 워크로드에서 텍스처 캐시는 비정렬 메모리 액세스 워크로드를 전문으로 하는 읽기 전용 데이터 캐시가 됩니다.또한 ECC에 의존하는 워크로드에 대한 안전성을 높이기 위해 오류 감지 기능이 추가되었습니다.GK110에서는 스레드당 레지스터 수가 255개로 2배가 됩니다.
단순 명령 스케줄러
데이터 위험을 방지하는 복잡한 하드웨어 블록을 제거함으로써 다이 공간 절감과 전력 절약을 추가로 달성할 수 있었습니다.[3][5][9][10]
GPU의 부스트
GPU 부스트는 CPU의 터보 부스트와 거의 유사한 새로운 기능입니다.GPU는 항상 최소 클럭 속도(기본 클럭)로 동작합니다.이 클럭 속도는 최대 [3]부하에서도 GPU가 TDP 사양 범위 내에서 유지되도록 하는 수준으로 설정됩니다.단, 부하가 낮을 때는 TDP를 넘지 않고 클럭 속도를 높일 수 있습니다.이러한 시나리오에서는 GPU 부스트는 GPU가 미리 정의된 전력 목표(기본값은 170 [5]W)에 도달할 때까지 클럭 속도를 단계적으로 높입니다.이 방법을 사용하면 GPU는 클럭을 동적으로 올리거나 내리거나 할 수 있기 때문에 TDP 사양 내에서 최대한의 속도를 유지할 수 있습니다.
전력 목표와 GPU가 실행하는 클럭 증가 순서의 크기는 모두 서드파티 유틸리티를 통해 조정할 수 있으며 Kepler 기반 [3]카드를 오버클럭할 수 있습니다.
Microsoft Direct3D 지원
GeForce 600 시리즈의 Nvidia Fermi 및 Kepler GPU는 Direct3D 11.0 사양을 지원합니다.엔비디아는 당초 케플러 아키텍처가 Direct3D 11.1 [11]경로를 포함한 DirectX 11.1을 완전히 지원한다고 밝혔다.그러나 다음 "Modern UI" Direct3D 11.1 기능은 [12][13]지원되지 않습니다.
- 타겟에 의존하지 않는 래스터라이제이션(2D 렌더링만).
- 16xMSAA 래스터라이제이션(2D 렌더링만)
- 직교 선 렌더링 모드.
- 픽셀이 아닌 섀도 단계에 있는 UAV(Unordered Access View)입니다.
Microsoft 의 정의에 의하면, Direct3D 피쳐 레벨 11_1 이 완전하지 않으면 Direct3D 11.1 패스를 [14]실행할 수 없습니다.케플러 아키텍처의 통합 Direct3D 기능은 GeForce 400 시리즈 페르미 [13]아키텍처와 동일합니다.
차기 Microsoft Direct3D 지원
GeForce 600/700 시리즈의 NVIDIA Kepler GPU는 Direct3D 12 기능 레벨 11_0을 [15]지원합니다.
TXAA 지원
케플러 GPU만의 TXAA는 게임 엔진에 직접 구현하도록 설계된 엔비디아사의 새로운 안티앨리어싱 방식입니다.TXAA는 MSAA 기술과 커스텀리졸브 필터를 기반으로 합니다.이는 반짝임 또는 일시적 에일리어싱으로 알려진 게임의 주요 문제를 해결하도록 설계되었습니다.TXAA는 이동 중인 장면을 평활하여 게임 내 장면에서 에일리어싱 및 [3]반짝임이 제거되도록 함으로써 이 문제를 해결합니다.
순서 섞기
낮은 수준에서 GK110은 성능을 더욱 향상시키기 위한 추가 명령 및 조작을 인식합니다.새로운 셔플 명령어를 사용하면 워프 내의 스레드가 메모리로 돌아가지 않고 데이터를 공유할 수 있어 이전 로드/공유/스토어 방식보다 처리가 훨씬 빠릅니다.원자 동작도 정비되어 원자 동작의 실행 속도가 빨라지고 이전에 FP32 데이터에서만 [9]사용 가능했던 일부 FP64 동작이 추가됩니다.
Hyper-Q
Hyper-Q는 GK110 하드웨어 작업 큐를 1에서 32로 확장합니다.이는 하나의 작업 큐가 있다는 것이 중요하기 때문에 모든 SM을 채울 만큼 충분한 작업이 없기 때문에 Fermi는 때때로 작업 큐가 부족할 수 있다는 것을 의미합니다.GK110은 32개의 작업 큐를 가지고 있기 때문에 아이돌 상태의 SMX에 다른 태스크 스트림을 배치할 수 있기 때문에 많은 시나리오에서 보다 높은 활용률을 달성할 수 있습니다.HPC에서 자주 사용되는 공통 메시지 패스 인터페이스인 MPI에 쉽게 매핑할 수 있기 때문에 Hyper-Q의 단순성은 더욱 강화됩니다.잘못된 의존관계로 병목현상이 된 멀티CPU 시스템용으로 설계된 레거시 MPI 기반 알고리즘이 이제 해결책을 갖게 되었습니다.MPI 작업의 수를 늘림으로써 코드 [9]자체를 변경하지 않고도 이러한 알고리즘에서 Hyper-Q를 활용하여 효율성을 향상시킬 수 있습니다.
동적 병렬 처리
동적 병렬 처리 기능은 커널이 다른 커널을 디스패치할 수 있도록 하는 것입니다.Fermi를 사용하면 CPU만이 커널을 디스패치할 수 있게 되어 CPU와 통신함으로써 일정량의 오버헤드가 발생하게 됩니다.또한 GK110은 자신의 자 커널을 디스패치하는 기능을 커널에 부여함으로써 CPU를 CPU로 되돌릴 필요가 없어지고 그 과정에서 CPU를 해방시켜 다른 [9]작업에 사용할 수 있게 됩니다.
그리드 관리 유닛
동적 병렬 처리를 활성화하려면 새로운 그리드 관리 및 디스패치 제어 시스템이 필요합니다.새로운 GMU(Grid Management Unit)는 실행할 그리드를 관리하고 우선순위를 부여합니다.GMU는 새로운 그리드와 보류 중인 그리드와 일시 중단된 그리드의 디스패치를 실행할 준비가 될 때까지 일시 정지할 수 있으므로 동적 병렬 처리와 같은 강력한 실행 시간을 가능하게 하는 유연성을 제공합니다.케플러의 CUDA Work Distributor는 디스패치 준비가 된 그리드를 보유하고 있으며 페르미 CWD의 두 배인 32개의 액티브 그리드를 디스패치할 수 있습니다.케플러 CWD는 GMU가 새로운 그리드의 디스패치를 일시 정지하고 필요할 때까지 보류 중인 그리드와 서스펜드 그리드를 유지할 수 있도록 하는 양방향 링크를 통해 GMU와 통신합니다.GMU는 또한 동적 병렬화를 통해 GPU에서 추가 작업을 시작하는 그리드를 GMU로 보내 우선 순위 부여 및 파견할 수 있도록 케플러 SMX 유닛과 직접 연결됩니다.추가 워크로드를 디스패치한 커널이 일시 정지하면 GMU는 종속 작업이 [10]완료될 때까지 비활성 상태를 유지합니다.
NVIDIA GPUDirect
NVIDIA GPU Direct는 1대의 컴퓨터 내의 GPU 또는 네트워크상의 다른 서버 내의 GPU를 CPU/시스템 메모리에 접속하지 않고 직접 데이터를 교환할 수 있는 기능입니다.GPUDirect의 RDMA 기능을 사용하면 SSD, NIC 및 IB 어댑터와 같은 서드파티 디바이스가 동일한 시스템 내의 여러 GPU 상의 메모리에 직접 액세스할 수 있으므로 GPU [16]메모리와 주고받는 MPI의 지연 시간이 크게 단축됩니다.또한 시스템 메모리 대역폭에 대한 요구도 줄이고 GPU DMA 엔진을 다른 CUDA 태스크에서 사용할 수 있도록 해방합니다.Kepler GK110은 Peer-to-Peer 및 GPUDirect for Video를 포함한 다른 GPUDirect 기능도 지원합니다.
비디오 압축 해제/압축
NVDEC
NVENC
NVENC는 H.264 기반의 콘텐츠를 코덱, 디코딩, 전처리 및 인코딩할 수 있는 Nvidia의 전력 효율이 뛰어난 고정 함수 인코딩입니다.NVENC 사양 입력 형식은 H.264 출력으로 제한됩니다.그러나 NVENC는 제한된 포맷을 통해 최대 4096x4096 [17]인코딩을 지원할 수 있습니다.
인텔의 Quick Sync와 마찬가지로 NVENC는 현재 독자 API를 통해 공개되고 있지만 NVENC는 CUDA를 [17]통해 NVENC 사용을 제공할 계획입니다.
성능
GFLOPS에서 케플러 GPU의 이론적인 단정도 처리 능력은 2(사이클당 CUDA 코어당 FMA 명령당 연산) × CUDA 코어 수 × 코어 클럭 속도(GHz)로 계산된다.이전 세대인 페르미와 마찬가지로 케플러는 테슬라처럼 MAD+MUL을 이중으로 발행하여 처리 능력을 높일 수 없습니다.
Kepler GK110/210 GPU의 이론적인 배정밀 처리능력은 단정도 성능의 1/3입니다.단, 이 2배 정밀도의 처리능력은 전문가용 Quadro, Tesla 및 하이엔드 TITAN 브랜드 GeForce 카드에서만 사용할 수 있습니다.단, 소비자용 GeForce 카드용 드라이버는 성능을 1회 정밀도의 1/[18]24로 제한합니다.성능이 낮은 GK10x 칩도 마찬가지로 단일 정밀 [19]성능의 1/24로 제한됩니다.
케플러 칩
- GK104
- GK106
- GK107
- GK110
- GK208
- GK210
- GK20A(Tegra K1)
「 」를 참조해 주세요.
레퍼런스
- ^ Mujtaba, Hassan (18 February 2012). "NVIDIA Expected to launch Eight New 28nm Kepler GPU's in April 2012".
- ^ "Inside Kepler" (PDF). Retrieved 2015-09-19.
- ^ a b c d e "Introducing The GeForce GTX 680 GPU". Nvidia. March 22, 2012. Retrieved 2015-09-19.
- ^ Nividia. "NVIDIA's Next Generation CUDATM Compute Architecture: Kepler TM GK110" (PDF). www.nvidia.com.
- ^ a b c d e Smith, Ryan (March 22, 2012). "NVIDIA GeForce GTX 680 Review: Retaking The Performance Crown". AnandTech. Retrieved November 25, 2012.
- ^ "Efficiency Through Hyper-Q, Dynamic Parallelism, & More". Nvidia. November 12, 2012. Retrieved 2015-09-19.
- ^ "GeForce GTX 770 Specifications GeForce". www.nvidia.com. Retrieved 2022-06-07.
- ^ "GeForce GTX 680 2 GB Review: Kepler Sends Tahiti On Vacation". Tom;s Hardware. March 22, 2012. Retrieved 2015-09-19.
- ^ a b c d "NVIDIA Launches Tesla K20 & K20X: GK110 Arrives At Last". AnandTech. 2012-11-12. Retrieved 2015-09-19.
- ^ a b "NVIDIA Kepler GK110 Architecture Whitepaper" (PDF). Retrieved 2015-09-19.
- ^ "NVIDIA Launches First GeForce GPUs Based on Next-Generation Kepler Architecture". Nvidia. March 22, 2012. Archived from the original on June 14, 2013.
- ^ Edward, James (November 22, 2012). "NVIDIA claims partially support DirectX 11.1". TechNews. Archived from the original on June 28, 2015. Retrieved 2015-09-19.
- ^ a b "Nvidia Doesn't Fully Support DirectX 11.1 with Kepler GPUs, But… (Web Archive Link)". BSN. Archived from the original on December 29, 2012.
- ^ "D3D_FEATURE_LEVEL enumeration (Windows)". MSDN. Retrieved 2015-09-19.
- ^ Henry Moreton (March 20, 2014). "DirectX 12: A Major Stride for Gaming". Retrieved 2015-09-19.
- ^ "NVIDIA GPUDirect". NVIDIA Developer. 2015-10-06. Retrieved 2019-02-05.
- ^ a b Chris Angelini (March 22, 2012). "Benchmark Results: NVEnc And MediaEspresso 6.5". Tom’s Hardware. Retrieved 2015-09-19.
- ^ Angelini, Chris (7 November 2013). "Nvidia GeForce GTX 780 Ti Review: GK110, Fully Unlocked". Tom's Hardware. p. 1. Retrieved 6 December 2015.
The card’s driver deliberately operates GK110’s FP64 units at 1/8 of the GPU’s clock rate. When you multiply that by the 3:1 ratio of single- to double-precision CUDA cores, you get a 1/24 rate
- ^ Smith, Ryan (13 September 2012). "The NVIDIA GeForce GTX 660 Review: GK106 Fills Out The Kepler Family". AnandTech. p. 1. Retrieved 6 December 2015.