벤치리뷰·뉴스·정보/아키텍처·정보분석

[정보분석] 엔비디아 세계 최다 트렌지스터 칩 GK 110 공개

tware 2012. 5. 19. 23:00

 

 

프로그래밍 편에 선 확장이 눈에 띄는 GK110


NVIDIA는 Kepler 세대의 플래그쉽 GPU "GK110"이 베일을 벗었다. 그렇지만, 제공시기는 GK110의 HPC (High Performance Computing)을 위한 제품 "Tesla K20"가 2012 년 4 분기로 아직 먼 이야기이다. GK110/Kepler 기능도 올해 늦게 릴리스 후보 판이 나올 CUDA 5 가 없으면 사용할 수없는 것이 많다.그러나 엿볼 기능만 봐도 GK110가 야심 GPU 인 것을 알 수 있다.

NVIDIA는 미국 산호세에서 개최되며 기술 컨퍼런스 "GPU Technology Conference (GTC)"에서 GK110와 Kepler 아키텍처 지금까지 밝혀지지 않았던 기능을 밝혔다. 그 중에는, GPU에서 스레드 생성을 행하는 "Dynamic Parallelism"하드웨어 작업 큐 "Hyper-Q", GPU의 가상화를 기반으로 한 "NVIDIA VGX" 플랫폼과 그 위에 클라우드 게이밍 플랫폼 " GeForce GRID "이 포함된다. Hyper-Q와 Dynamic Parallelism은 GK110 이후 Kepler 제품군의 기능이 된다.

이들은 모두 GPU 프로그램 성과 GPU의 성능 효율을 높이고 또한 GPU의 적용 범위를 확장 할 수 있도록 하는 기술이다. 당연하게 CPU 측에서 볼 때, 이미 CPU에서는 구현 된 기술이 드디어 GPU에 들어갈 수도있다. 역으로 말하면, CPU와 GPU가 또 한 걸음 다가 그만큼 GPU의 사용 편의성을 볼 수 있다.

NVIDIA의 Kepler 아키텍처는 그래픽 용 GeForce GTX 680 (GK104)를 처음 선보였​​다. GK104는 300 제곱 mm 이하의 다이에 256-bit 폭의 메모리 인터페이스를 탑재한 GPU로는 중급 클래스의 칩이다. 반면 이번​​에 발표된 GK110는 500 제곱 mm 클래스의 다이에 384-bit 폭 메모리 인터페이스와 최근의 하이엔드 GPU 같은 사양이다.

 

 

 

GK 110 다이

 

프로세서 클러스터 SMX 레이아웃이 다른 Kepler 제품군


NVIDIA GPU의 프로세서 클러스터의 최소 단위 인 'SMX (Streaming Multiprocessor ​​eXtreme) "는 GF110 다이에 보인다. 그러나 다이 사진의 SMX는 GK104와 GK110로 크게 레이아웃이 다르다.비교하면 GK110의 SMX 쪽이 수십 퍼센트 또는 그 이상 큰 것으로 추측된다. 이것은 배정도 연산 유닛 등이 강화된 때문이다.

GK104 계는 "Kepler1"아키텍처라고하는 반면, GK110는 "Kepler2"라고 하고 있다. NVIDIA의 이전 세대 Fermi(페르미) 아키텍처는 고급 GF100/110 계와 그 이하의 그래픽 전용 제품은 프로세서 코어 부분의 구조가 달랐다. 이번에도 Kepler1하고 Kepler2는 프로세서 코어 아키텍처가 다르다. 또한 SMX에서 전체의 다이크기를 산출하면 적게 잡아도 500 제곱 mm 전후가 된다. 따라서, NVIDIA GPU의 한계에 가까운 다이 크기를 유지하는 노선은 Kepler 세대에서도 건재한 것이된다.

 

 

GPU 다이 크기 추세

 

 

아래는 GK110의 SMX의 블록 다이어그램이다. GK104과의 가장 큰 차이점은 64 개의 배정밀도(DP) 연산유닛이 더 해지고 있는 점이다. 이 배정도 유닛은 단정밀도 연산은 할 수 없다. 단정 전용 연산 유닛은 192개로 전체 4지역에 크게 이별해 있다. 덧붙여서, Kepler 마이크로 아키텍처의 특징인 얕은 파이프 라인과 일정 부분적인 소프트웨어로의 전환은 Kepler 제품군 전체에 공통되는 것으로 보인다.

 

 

GK 110의 SMX

 

 

케플러의 SMX와 페르미의 SM비교

 

 

케플러와 페르미 아키텍처의 차이

 

 

 

 

 

 

2,880 개로 추정되는 CUDA 코어, 500 제곱 mm 클래스의 다이 크기

 

 

 

엔비디아 황회장.

 

칩 전체를 보면, Kepler 초대 GK104는 294 제곱 mm의 다이 트랜지스터 수는 3.54B (35.4 억), 8 개의 SMX를 탑재해, 총 단정밀도 부동 소수점 연산 유닛 (CUDA 코어) 수는 1,536 개다. 반면 공개된 GK110은 7.1B(71 억) 트랜지스터로 NVIDIA의 Jen-Hsun Huang (젠슨 황) 씨 (Co-founder, President and CEO)에 따르면 "현재 가장 복잡한 (트랜지스터 수 많은) 칩 "이라고 한다.

GK110의 공개된 다이 사진을 보면 SMX의 수는 15 개. GK110의 SMX의 부동 소수점 연산 유닛은 192 개 이므로 총 단정연산 유닛 (CUDA 코어) 수는 2,880 개의 계산된다. 그러나 제품에서 수율 확보를 위해 SMX가 1개 해제 될 가능성이 있어, 그 경우는 CUDA 코어 수가 줄어든다.아래의 슬라이드에 있는 Tesla K10은 GK104 기반 Tesla

 

 

 

GK104 테슬라 K10

 

 

성능 범위는 HPC용 Tesla K20은 Fermi 세대의 Tesla의 배정도 부동 소수점 연산 성능 3배 라고 발표되고 있다.Fermi 기반의 "Tesla M2090"의 배정 밀도 성능은 666GFLOPS 이므로 Tesla K20은 2TFLOPS이상의 배정밀도 성능을 가진 셈이다. (단정밀도 32비트, 배정밀도 64비트)

GK110는 배정도의 성능은 단정도의 3분의 1로 15 SMX의 경우 전체 칩은 960 개의 배정도 연산 유닛이 된다. 따라서 3배 성능을 달성하면, 1GHz 또는 그 이상에서 작동시킬 필요가있다. 이 경우 단일 정밀도 성능 6TFLOPS 가까이된다.

덧붙여서, G​​K104는 2 개의 SMX에서 1 개의 GPC (Graphics Processing Cluster)를 구성하여 래스터 라이저 등을 공유하는 구조로되어 있다. 그러나 GK110의 다이를 보면, 3개의 SMX에서 세트로 되어있는 것처럼 보인다. 전체 SMX 수도 15인 것을 생각하면, GPC는 3개의 SMX로 구성되어 있을 수 있다.아래는 GK110의 전체 구성이다.

 

 

 

GK110 전체구성

 

CUDA 5와 함께하는 GK110의 새로운 기능

 

GTC의 Jen-Hsun Huang 씨의 기조 연설에서는 GK110의 발표와 함께, Kepler의 지금까지 밝혀지지 않았던 기능과 GK110 함께 도입된 새로운 기능이 소개되었다. 특히 중요한 것은, GPU 측에서 동적 스레드 생성에 의한 Dynamic Parallelism이다. 따라서 CUDA 5에서 동적 링커 지원이 가능하며, 구조적으로 복잡한 프로그램이 쉽게되었다. 프로그래밍 모델과 성능에 큰 영향을 미치는 중요한 확장이 되고 있다. NVIDIA의 Mark Harris

씨 (Chief Technologist, GPU Computing)는 "Dynamic Parallelism는 CUDA 5 가장 흥미로운 기능이다"라고 말했다.

 

 

 

 

 

 

 

GPU에서 동적 스레드 생성에 의한 다이나믹 병렬화

 

 

원래, GPU는 동적 객체를 발행하지 못한 것 자체가 일반 프로그래밍 상식으로 보자면 놀랄지도 모른다.그러나, 이것은 CPU에서 커널을 다운로드하여 실행하는 GPU의 코프로세서식 실행 모델 때문이다.기존의 GPU는 자체적으로 커널을 시작할 수 할 수 없기 때문에 새로운 커널을 시작하려고 할 때마다 CPU로 처리를 돌려 보내야 했다. 따라서 Fermi 아키텍처까지 중첩 복잡한 프로그램이나 시뮬레이션 공간 메쉬 분해 최적화 등은 어려웠다.

그러나 GK110는 어떤 스레드에서도 GPU 스스로 커널을 시작할 수있게 된다. 따라서 GK110는 그러한 기존에는 어려웠던 프로그램을 쉽게 성능 최적화도 용이하게 된다. 키 노트 스피치와 CUDA 세션에서는 그예로서 유체 시뮬레이션 아래의 슬라이드 예에 나타났다.

 

 

 

유체 시뮬레이션의 예

 

왼쪽처럼 그리드가 드문 드문 경우 성능은 높지만 정밀도가 낮아진다. 중간 같이 그리드가 조밀한 경우 정확도는 높아지지만 성능은 낮아진다. 그러나 오른쪽 예와 같이 그리드의 크기를 적응으로 바꾸어,정밀도가 필요한 부분만 그리드를 세분화 하면 최적의 성능 최적의 정밀도를 얻을 수 있다.

키 노트 스피치는 구체적인 예로, 은하계와 안드로메다 은하의 충돌 천체 시뮬레이션의 데모가 행해졌다.30만 미만 별의 실시간 시뮬레이션 데모는 Dynamic Parallelism에서 가능하게 되었다고 한다.

 

 

 

 

 

 

 

 

Dynamic Parallelism 의해 실현된 시뮬레이션

 

NVIDIA의 기자 회견에서 Huang 씨는 다음과 같이 말했다.

 "은하 충돌 알고리즘은 엔지니어가 1년 이상 Fermi에 이식해 왔다. 그러나 Kepler는 Dynamic Parallelism 기능으로 인해 그는 한주 사이에 이식이 가능하게 되었다. 복잡한 중첩된 알고리즘 이식은 Dynamic Parallelism은 매우 강력하다. "

 


 GPU 프로그래밍을 바꾸는 Dynamic Parallelism

 

물론 메쉬 최적화뿐만 아니라, Dynamic Parallelism 혜택은 더 폭 넓은 분야에서 얻을 수있다. 아래는 CUDA 5 세션에 표시된 코드 예제이다. 왼쪽은 기존 아키텍처에서 GPU 측에서 커널을 시작할 수 없기 때문에, GPU에서 일단 CPU에 작업을 다시보내 CPU에서 커널을 발행하고 있다.그것이 Kepler로 바뀌면 GPU로 일단 보내면, 이후 GPU 측에서 커널을 시작하고 실행하고 마지막으로 CPU로 동기화 반환까지 CPU 사이의 교환이 사라 진다. CPU와 GPU 사이의 복잡한 데이터 교환이 감소하고 CPU가 그만큼 더 긴 시간 자유로워 졌다.

 

 

 

CUDA 코드 예제

 

 

Bill Dally 씨

 

NVIDIA의 Bill Dally 씨 (Chief Scientist)는 다음과 같이 설명했다.

"Dynamic Parallelization은 매우 중요하다. 지금까지는 GPU에 작은 스레드 배열이 많은 코드를 이식하려는 경우 문제에 직면했다. 스레드 배열에서 다음 스레드 배열로 가는 경우, CPU와 GPU 사이를 왔다 갔다 해야했기 때문이다. 그러나 이번에는 각 스레드가 다음 스레드를 생성 할 수 있으므로, GPU 코딩 필요했던 코드가 필요하지 않다."

Dynamic Parallelism 의해 CUDA 5는 동적으로 개체를 호출 연결시킬 수있게 되었다. 즉, GPU에서 실행중인 커널에서 다른 커널을 호출 할 수 있게했다. 기존의 Fermi까지 GPU는 컴파일러 라이브러리를 정적으로 결합하여 실행 파일 구축할 필요가 있었다. 그러나 Kepler는 동적으로 로드 할수 있기 때문에 라이브러리의 효율적인 활용이 가능하게된다.

 

 

 

 

 

 

 

 

CUDA 5는 동적으로 개체를 호줄하여 연결 가능

 

Dynamic Parallelism에서 NVIDIA가 제공하고 있는 것은 기본의 CPU 드라이버 소프트웨어로 처리하는 기능의 GPU에 넣었다 라고 생각할 수도 있다. 이것은 CPU 코어를 통합 한 제품이(비 모바일에서)아직인 NVIDIA에 있어서 더 중요한 기능이기도 하다. 당연하게, GPU의 그래픽은 이전부터 다소 비슷한 일을 하고 있었다.

Dynamic Parallelism은 프로그래밍 측면에서는 Kepler의 중요한 새로운 기능 노력을 크게 절약 할 수 있다. 뿐만 아니라, GPU의 가동률을 올리고 커널 실행의 병렬성을 높이고, GPU와 CPU의 로드 밸런싱을 용이하게 하고 전체의 성능 향상을 실현한다. 그리고 GPU가 더 CPU에 접근 했다는 것을 상징하고 있다.

 

 

 

 

[분석정보] TOP500 슈퍼컴퓨터 순위 2013년 6월

 

 

[분석정보] 4만 8000개의 제온파이로 중국 톈허2 세계에서 가장 빠른 슈퍼 컴퓨터

 

 

[제품뉴스] Intel Xeon Phi 새로운 폼 팩터 채용 포함 5모델 추가

 

 

[정보분석] 인텔 60코어 매니코어 "Xeon Phi" 정식발표

 

 

[분석정보] 인텔 슈퍼컴퓨터용 가속기 Xeon Phi 5110P 발표

 

 

[분석정보] Intel, HPC 전용 보조 프로세서 Xeon Phi 2013년 1월부터 일반용으로 출시

 

 

[분석정보] IDF 2012에서 주목한 한가지, 매니 코어 "Knights Corner"

 

 

[정보분석] IDF 2011 Justin Rattner 기조연설 매니코어 시대가 다가옴 1/2부

 

 

[정보분석] IDF 2011 Justin Rattner 기조연설 매니코어 시대가 다가옴 2/2부

 

 

[정보분석] 같은 무렵에 시작된 Nehalem과 Larrabee와 Atom

 

 

 

[분석정보] Intel은 Larrabee 계획과 아키텍처를 어떻게 바꾸나?

 

 

[분석정보] 다시 처음부터 시작된 라라비 무엇이 문제였나?

 

 

[분석정보] 라라비 (Larrabee)의 비장의 카드 공유 가상 메모리

 

 

[분석정보] 인텔의 스칼라 CPU + 라라비의 이기종 CPU 비전

 

 

[분석정보] Larrabee는 SIMD와 MIMD의 균형 - Intel CTO가 말한다.

 

 

[정보분석](암달의 법칙) 2010년대 100 코어 CPU 시대를 향해서 달리는 CPU 제조사

 

 

 

[분석정보] GDC 2009 드디어 소프트 개발자 정보도 나온 "Larrabee"

 

 

[분석정보] 그래픽 및 DirectX 로드맵을 정리

 

 

[정보분석] Intel 힐스보로가 개발하는 CPU 아키텍처의 방향성

 

 

[정보분석] 팀스위니 미래의 게임 개발 기술. 소프트웨어 렌더링으로 회귀

 

 

[분석정보] 정식 발표된 라라비(Larrabee) 아키텍처

 

 

[아키텍처] 베일을 벗은 인텔 CPU & GPU 하이브리드 라라비(Larrabee)

 

 

[정보분석] 암달의 법칙(Amdahl's law)을 둘러싼 Intel과 AMD의 싸움

 

 

[정보분석] 모든 CPU는 멀티 스레드로, 명확하게 된 CPU의 방향