GTX460으로 등장할 코드네임 GF104 코어의 경우, SP갯수 등으로 파악해볼 때, 그래픽용으로 상대적으로 더 특화되어 있는 GT200를 기반으로 페르미 세대의 특징을 첨가한 제품으로 출시될 것 같다는 전망의 기사입니다.
● 그래픽 시장용의 결정판이 GeForce GTX 460
nVIDIA는, 향후 수개월간 2~3개의 새로운 Fermi(페르미) 계열 GPU를 투입할 예정이다. 그 중에는 데스크탑 GPU용의 비장의 카드인 GeForce GTX 460(GF104) 및 노트북 GPU의 플래그쉽이 될 N11E-GS(GeForce GTX 460M)도 포함된다.
신아키텍쳐 GPU를 하이엔드 제품으로 발표하고 나서 6개월에서 1년 후에, 하부 시장 영역에 전개하는 것이 지금까지의 nVIDIA의 패턴이였다. 그러나, 이번은 지금까지 크게 다른 부분이 있다. 가까운 시일내에 등장한다고 보여지는 2번째의 데스크탑 GPU GeForce GTX 460은 대단히 크고 강력하다.
"최초의 Fermi인 GeForce GTX 480(GF100)은 GPU 컴퓨팅을 우선시해 만들어졌기 때문에, 그래픽 용도로는 효율이 나빴다. 그러나, GeForce GTX 460은 480과는 다이가 다르다. 그래픽 이외의 불필요한 기능은 전부 제외하고 그래픽 효율에만 집중했다. 따라서 480과 비교하면 소비 전력에 비해 그래픽 성능이 상당히 높다. 그래픽용도의 결정판으로 GTX460이라면 ATi와 대적할 수 있다."
어떤 GPU 업계 관계자는 nVIDIA의 GeForce GTX 460을 이와 같이 설명한다. GeForce GTX 460은 스펙상의 프로세싱 퍼포먼스만을 봐도, 기존의 2번째 다이의 GPU라고는 생각되지 않는다. 프로세서수는 하이엔드 GeForce GTX 480과 비교해서 약 70%. 물론 DirectX 11 기능은 갖추고 있으며, 소비 전력은 GTX 480의 2/3 수준이라고 전해진다.
왜 GTX 460은 그토록 다른 것일까. 그것은 기반이 된 아키텍쳐가 GF100가 아니고, GT200 (GeForce GTX 280) 아키텍쳐라고 볼 수 있기 때문이다. GT200 아키텍쳐를 40㎚로 이행시켜, DirectX 11지원의 Fermi의 기능을 추가한 하이브리드 방식의 아키텍쳐가 nVIDIA의 GeForce GTX 460의 정체라고 추측된다.
이는 nVIDIA GPU의 CUDA 코어(프로세서) 갯수를 통해 판별할 수 있다. GeForce GTX 460의 프로세서수는 현재 유출된 숫자는 336개. 이 정보는 온갖 웹사이트 등에서 공개되고 있으며, 확실성이 높다. 이 숫자에서 중요한 부분은 32로 나뉘어 떨어지지 않고, 24로 나뉘어 떨어지는 점이다. 왜냐하면, GF100계열 아키텍쳐에서는 CUDA 코어수는 32의 배수이어야 하기 때문이다. 그리고, 24로 나뉘어 떨어지는 프로세서수는 GT200계 아키텍쳐의 것이기 때문이다.
● 프로세서 갯수를 통해 알 수 있는 GPU 아키텍쳐의 차이
GF100 아키텍쳐에서는 1개의 멀티 프로세서 SM(Streaming Multiprocessor)의 안에 32개의 CUDA 코어가 있으며, 그 중에 WARP (nVIDIA GPU의 논리 벡터로서 쓰레드의 집합) 스케줄링이 행해진다. 32개라는 프로세서 구성은 아키텍쳐상에서 변경이 어렵고, 32개의 CUDA 코어 어레이를 분할할 수는 없다. 그로 인해 GF100 아키텍쳐 GPU에서는 프로세서수는 반드시 32의 배수가 된다. 이는 현재의 GeForce GTX 4xx계열 GPU의 프로세서수를 비교하면 바로 알 수 있다.
그 때문에 336개의 CUDA 코어를 탑재하는 GeForce GTX 460은 GF100의 기본 아키텍쳐를 사용하지 않은 것을 알 수 있다. 336 프로세서를 정확히 나눌 수 있는 것은 24. 그리고, 24 프로세서를 기본 단위로 하고 있는 것은 nVIDIA GPU에서는 GT200계열이다.
GT200 아키텍쳐에서는 1개의 SM안에 8개의 프로세서 Streaming Processor(SP)가 있으며, SM이 3개 모여 1개의 Texture/Processor Cluster (TPC)를 구성하고 있다. 1개의 TPC안의 프로세서 SP의 수는 24개이며, GT200의 경우는 TPC가 거의 최소단위가 된다. GT200에서는 24개의 프로세서를 분할하는 것은 어렵다. SM단위(또는 TPC 단위)로밖에 활성화/비활성화의 전환을 할 수 없는 것이 nVIDIA GPU 아키텍쳐의 특징인데, 이는 GT200에서도 공통되는 점이기도 하다. 상위의 GT200계열 GPU가 모두 24 배수의 SP를 탑재하고 있는 것은 그 때문이다.
이로부터 GeForce GTX 460은 GT200를 기반으로 한 아키텍쳐일 가능성이 높은 것을 알 수 있다. 아마, DirectX 10세대였던 GT200계열 아키텍쳐를 베이스로, DirectX 11 확장 및 Fermi와의 프로그램 성격상의 공통점을 어느 정도 추가한 것이 GeForce GTX 460의 다이라고 추정된다. 그것은, 즉 nVIDIA GPU의 기본적인 구성인 SM등의 구조가 460과 GF100와는 달라, 거기에 곁들어져지는 기능도 다른 것을 의미하고 있다.
GT200의 Streaming Multiprocessor
GF100의 SM
NV40~GF100의 유닛수 비교
● 그래픽 용도의 효율이 높은 GT200 아키텍쳐
GeForce GTX 460이 GT200를 베이스로 하고 있다고 하면, 거기에는 좋은 측면과 나쁜 측면이 있다. 좋은 면은 nVIDIA가 데스크탑용으로 그래픽 성능상 효율이 높은 GPU를 투입하는 것이고, 나쁜 면은 프로그래밍상에서의 최적화의 일관성이 없어져 버리는 위험성이 있는 것이다.
GF100 아키텍쳐는 범용 어플리케이션을 운용시킬 수 있도록 한 유연성을 요구한 결과, 아키텍쳐상 어느 정도의 오버헤드가 있다. 그 때문에 그래픽 용도만으로는, 효율이 나쁜 케이스가 많다. 예를 들어, 내부 메모리 계층에 대한 ECC와 같은 HPC(High Performance Computing)에 특화된 특징을 제거했다고 해도 GT200의 효율성에는 도달하지 못할 것이다.
그에 비해 GT200는 아직 그래픽에 특화된 아키텍쳐이며, 그만큼 기존 그래픽용으로는 성능 효율이 이론적으로 높아진다. 즉, nVIDIA에 있어서 컨슈머(consumer)용으로 그래픽 효율을 우선적으로 생각하면, GT200는 좋은 선택이 되는 것이다.
특히, 데스크탑으로 200 달러 전후의 가격대의 GPU는 게이머가 구매층의 핵심이기 때문에, 그래픽 효율성은 중요하다. nVIDIA의 Fermi 전략은 시장에 따라 해석 방법이 달라, HPC의 업계에서 기대도가 높은 반면, 컨슈머(consumer) 시장에서는 변함없이 ATi에 밀리고 있다. nVIDIA는 게이머를 위한 GPU로, 그래픽용도에서 효율이 높은 GPU를 필요로 하고 있으며, nVIDIA가 GT200의 DirectX 11 확장을 행했던 것이라면, 그 요구에는 딱 들어맞는다.
● 다이 자체는 384 코어를 싣고 있다고 추측되는 GeForce GTX 460
GT200 확장판이라고 볼 수 있는 GeForce GTX 460의 상정되는 구성은 다음과 같이 된다. 우선 SM은 GT200와 마찬가지로 각각 8개의 CUDA 코어를 탑재하고, 3개의 SM으로 1개의 Texture/Processor Cluster (TPC)가 구성된다. TPC는 14개가 다이에 내장되어 14 TPC×3 SM×8 CUDA 코어로 합계 336개의 CUDA 코어가 된다.
무엇보다 GT200를 기반으로 했다고 해도, DirectX 11을 위한 확장은 필요하게 된다. 거기서 문제가 되는 것은 폴리곤 분할을 담당하는 테셀레이터의 내장과 래스터라이저의 복수화(複數化)된 다이. GF100에서는 1개의 SM마다 1개의 테셀레이터가 실장되어 4개의 SM마다 1개의 래스터라이저가 실장되고 있었다. GeForce GTX 460이 1개의 TPC마다 1개의 테셀레이터를 갖춘다고 하면 테셀레이터는 총 14개가 된다. 이것은 상위의 GF100 다이의 16개 테셀레이터에 근접하는 갯수이며, 아무리 봐도 과도한 숫자이다.
아마 합리적인 갯수는 2개의 TPC마다 1개의 테셀레이터를 갖춰 GPU 전체로 7개의 테셀레이터를 탑재한 구성이라고 추측된다. 프로세서 대비 테셀레이터의 비율은 48 대 1이 되어, GF100 다이의 32 대 1보다 아래에 위치하게 된다.
다만, 그 경우 7이라고 하는 홀수의 테셀레이터 갯수는 아무래도 모양이 안좋다. 하지만, GeForce GTX 460의 다이가 실제로는 16개의 TPC를 탑재하고 있어, SM이 총 48개, CUDA 코어의 수가 384개라고 하면 모든 숫자는 딱 들어맞는다. 그 경우 테셀레이터는 8개가 되며, 완전히 대칭이 된다.
GF100 패밀리
그렇게 추측하는 근거는 nVIDIA의 40㎚ 공정 세대에 관련된 수율 문제에 있다. 40㎚ 공정에서는 여분 배선의 비율이 낮아짐으로써, 공정상의 결함율이 GPU의 수율에 큰 영향을 주게 되었다. 예를 들어 기존 공정과 같은 결함 밀도이었다고 해도 40㎚에서는 수율의 손실도가 기존보다 훨씬 크다. 그 때문에, nVIDIA는 여분성을 갖게함으로써, GPU의 수율을 향상시키고 있다.
구체적으로는, nVIDIA는 결함이 포함되어 있는 부분의 SM(Streaming Multiprocessor)를 비활성화하고 있다. 그렇게 되면 결함을 포함한 다이에서도 제품으로 출하할 수 있기 때문에 수율이 훨씬 오르게 된다. GF100 다이를 사용한 제품은, 모두 SM이 1개 이상 비활성화 되어 있으며, 그 상황은 지금도 변함이 없다.
비교적 die size가 큰 GeForce GTX 460에서도, 사정은 같다고 추측된다. nVIDIA는 460에서도 동일한 여분성을 구축하지 하지 않으면 수율을 올릴 수 없을 것이다. 그리고, GeForce GTX 460에서는 아키텍쳐상 48 혹은 24 프로세서 단위가 아니면, 비활성화할 수 없다고 추측된다. 384개의 CUDA 코어를 탑재한 다이에서 48개를 비활성화시키면 336개가 된다. 이것이 GeForce GTX 460의 정체라고 추측된다.
● 듀얼 래스터라이저의 가능성이 높다
GeForce GTX 460의 다이자체의 TPC수가 16개라고 생각하면, 그 상위의 GPC(Graphics Processing Cluster)의 구성도 알 수 있게 된다. 테셀레이터의 수가 증가하면, 밸런스를 위해 래스터라이저를 늘려서, 테셀레이션시의 정점 폭발에 대비하는 쪽이 좋아진다. nVIDIA는 GF100에서 래스터라이저를 여러개 탑재해, 래스터라이저 단위로 GPU를 분할했는데, 그 단위를 GPC라고 명명했다.
밸런스를 생각한다면, GeForce GTX 460에서는 래스터라이저를 2개 탑재해, GPU를 2개로 분리하고, 각각 8개의 TPC를 배치하는 구성을 합리적이라고 생각할 수 있다. 다만, 이는 래스터라이저를 복수화하는 것에 따르는, 지오메트리프로세싱의 분할 제어를 배치 스케쥴러에 짜넣는 것을 nVIDIA가 허용했을 경우라는 조건이 따른다. nVIDIA에 의하면, 이 제어는 의외로 성가시므로, 그 번잡함을 피하려고 하면 래스터라이저를 1개로 만들 가능성도 있다. 다만, 그 경우는 테셀레이터가 풀 가동했을 경우에, 래스터라이저(rasterize)가 따라잡지 못하게 되는 위험이 있으므로, 생각하기 힘들다.
여기까지의 GeForce GTX 460에 대한 추측을 정리하면, CUDA 코어는 물리적으로는 384개로 유효하게 되어 있는 것이 336개, SM(Streaming Multiprocessor)이 물리 48개(42개 활성화), Texture/Processor Cluster(TPC)가 물리 16개(14개 활성화)로, 테셀레이터와 거기에 붙는 PolyMorph Engine이 물리 8개(7개 활성화), 래스터라이저로 정리하는 단위의 GPC가 12개가 된다. 상당히 규모가 큰 GPU라고 할 수 있다.
(중략)
결론부터 말하자면, 이는 nVIDIA의 전략의 변화를 시사하고 있다. 하이엔드 GPU를 GPU 컴퓨팅을 지향한 하이엔드 GPU와 순수하게 그래픽스 성능을 추구한 하이엔드 GPU의 2계통으로 나눈 것으로 보인다. 지금까지는 상위의 아키텍쳐가 하위로 내려오는 폭포형이었지만, 이번은 양상이 다른 것 같다. 또, 이것은 시장 전략적으로는 AMD와 컨슈머 시장에서 그래픽 성능으로 대적하는 것을 의미한다. GeForce GTX 460(GF104)은 die size에서 보더라도 Radeon HD 58xx계(Cypress)의 대항마이기 때문이다.
nVIDIA의 다이와 제품
[Impress Watch, Parkoz_조상현님]
Hiroshige Goto씨가 작성한 기사 입니다.
시간 여유가 되시는 분들은 읽어보셔도 괜찮을 거 같습니다.