본문 바로가기

Lecture & Column/vga_lec_col

케플러, 맥스웰 : 그들의 이면

Author : Daeguen Lee

(Any action violating either copyright laws or CCL policy of the original source is strictly prohibited)

(※ OCLAB에 게시된 것 또한 공동 정본입니다 : http://oclab.itenjoy.co.kr/49588)

 

 

 

그래픽카드 라인업에 조금만 관심을 가져 보면 이내 GPU의 풍부한 유닛을 다 사용하지 못하는 사례가 비일비재함을 깨닫게 된다. 이것은 엔비디아나 AMD의 잘못이 아니다. 당연한 말이지만 제조사가 GPU를 설계할 때부터 일부분을 못 쓰게 할 것을 의도하지는 않을 것이다. 누구든 크고 온전한 GPU를 만들어내고 싶을 것이나 TSMC의 손을 거쳐 나온 웨이퍼는 대체로 면적당 일정 수준의 결함을 포함하기 마련이고, 이에 따라 온전하지 않은 GPU들이 속출하게 된다. 보통 웨이퍼당 크고 온전한 GPU의 비율은 낮게 잡으면 한자릿수 %에 그치기도 한다.

 

여기서 제조사는 양자택일을 강요받는다. 찍어내고 보니 1. 크고 / 2. 온전한데다 / 3. 희귀하기까지 한 GPU를 어마무시하게 비싼 값을 매겨 팔 것인가, 아니면 온전하지 않은 나머지를 구제해 볼 것인가. 지갑 사정이 여의치 않은 대다수의 유저들에게는 다행히도 엔비디아/AMD는 그들의 오랜 역사 내내 후자를 선택해 왔다. 이렇듯 제조사의 설계 이상과 생산현실 사이의 타협으로 파생되는 것은 대개 매 세대 그들의 '차상위 제품'이 되곤 했다. 지포스 GTX 470, 570, 670, 780, 970이 그랬고 라데온 R9 280, 285, 290이 그랬다.

 

엔비디아의 최신 GPU인 GM204는 'SMM'이란 단위를 기본으로 하여 총 16개의 SMM으로 구성되어 있다. (실제로는 16 SMM만인 것은 아니고 몇 가지가 더 있다. 이 글에서는 생략한다.) TSMC가 찍어낸 웨이퍼 가운데 16 SMM 모두 살아남은 것은 GTX 980이란 이름을 부여받는다. 그렇지 못한 것 중 적어도 13개의 SMM은 건질 수 있는 것은 GTX 970이 된다. 다시 말해 전체 면적 가운데 결함이 분포한 영역이 SMM 3개 분량을 초과하지만 않는다면 그것은 GTX 970이 될 수 있다는 것이다. 여기서 중요한 것은 결함이 반드시 -만약 SMM에 순번을 매긴다면(0, 1, ..., 14, 15)- 0, 1, 2번 SMM에만 집중된다거나 13, 14, 15번 SMM에서만 발견된다거나 하지 않는다는, 평범한 확률분포의 법칙이다.

 

GTX 970의 '비활성화된' SMM이 특정 위치에 있을 필요가 없다는 조건은 일견 사소하지만 사실은 굉장히 중요한 함의를 갖는다. 확률적으로 0~15번 SMM 중 어떤 것이든 3개를 임의로 비활성화하더라도 그 성능 차이가 없거나(이상적인 경우), 적어도 무시할 만큼 작아야 한다는 명제를 전제하는 것이기 때문이다. 이론적으로 GPU와 그 최소단위인 SMM 사이에 어떤 인위적인 조작계층이 없다면 이상적으로 성립할 수 있는 명제이지만 불행하게도 그렇진 못하다. 4개의 SMM으로 구성되는 GPC (그래픽 프로세싱 클러스터) 라는 단위가 GPU와 SMM 사이 계층에 끼어들기 때문이다. GPC를 고려해 GTX 980과 GTX 970을 표현해 보면 아래와 같을 것이다.

 

- GTX 980 : 4+4+4+4
- GTX 970 : 4+3+3+3

 

 

글쓴이가 개인적으로 대칭을 좋아하기에 심미적인 고려를 넣어 GTX 970을 위와 같이 표현해 보았다. 하지만, 이미 눈치챘겠지만 GTX 970을 "만드는" 방법은 이것만이 아니다. 예컨대...

 

- GTX 970' : 4+4+4+1
- GTX 970'' : 4+4+3+2

 

 

...이렇게도 얼마든지 가능한 것이다. GPC라는 단위가 명목상의 것이 아닌 다음에야 적어도 워크로드 재분배 등의 작업이 수행되는 단위라 간주하는 것이 타당하고, 그렇다면 위의 세 GTX 970이 완전히 같은 성능을 보이는 것은 불가능하다. 따라서 우리는 (정확히는, 엔비디아는) 앞서 언급한 단 하나의 명제에 강력히 구속되어야 한다. 바로 세 GTX 970의 성능 차이가 '무시할 만큼 작아야 한다'는 것이다. 그리고 글쓴이는 이 글을 통해, 과연 그 차이가 무시할 만큼 작은 것인지 의문을 제기하고자 한다. 그렇지 않다면 "GTX 970" 이라는 단일한 이름을 붙여 나오는 것이 무색할 만큼 개별 제품간의 품질통제(QC)에 문제가 있다는 뜻이기 때문이다. 이를 검증하기 위해 아주 단순한 시뮬레이션 모델을 가정해 보자 : 전체 워크로드를 100으로 두었을 때, 각각의 GPC로 동일한 양의 워크로드가 분배되어 흘러가고 이 경우 각 GPC의 차등적인 러닝타임의 평균을 구하는 것이다. 그 역수를 취하면 해당 GPU 전체의 작업처리 속도를 얻을 수 있을 것이다. 아래 그림은 이를 바탕으로 GM204의 여러 베리에이션을 시뮬레이션해본 것이다.

 

 

아래는 GK110, GK104, GF100/GF110의 시뮬레이션 결과이다.

 

 

GM204와 나머지를 비교해 보면 말하고자 하는 바를 금방 알 수 있을 것이다. 간단히 말해 GTX 970의 품질 비일관성(inconsistency)은 엔비디아 역사상 최고 수준이라 할 수 있다. 물론 위의 모델이 대단히 경직된 GPC를 가정, 최악의 시나리오를 그려 본 것이라 반문할 수 있겠으나(위의 편차를 그대로 ALU 성능에 반영해 VGA 계산기에 대입해 보면 실제 최고-최저간 성능 편차는 10% 안팎으로 줄어든다), 그렇더라도 QC라는 작업 자체가 어떤 선험적인 논리에 의한 것이 아니라, 외려 경험의 누적으로 규칙을 도출해야 하는 것임을 생각하면 어떤 면에서든 '전례없는' 수준으로 큰 비일관성을 방치하는 것은 문제가 아닐 수 없다. 경쟁사는 이를 어떻게 통제하고 있는지 AMD의 시뮬레이션 결과를 통해 살펴보자.

 

 

하와이, 타히티 모두 5% 미만의 표준편차로 상대적으로 평준화된 품질을 보여주고 있다. 결국 GM204를 제외한 나머지 대조군 모두 표준편차를 한자릿수 %로 억제하고 있으며, 유일하게 GTX 970만이 두자릿수 %를 달성한데다 심지어 10% 초반대도 아닌, 20%에 가까운 표준편차를 갖고 있다는 결론이다. (잠시 삼천포로 빠져 보면- GM204에 비해 작아서 그렇지, GK110과 GK104의 표준편차도 GF100/GF110의 그것과 비교하면 거의 두배 가까이 증가한 것이다.) 이것이 의미하는 바는 과연 무엇일까. 이쯤에서 GTX 970이라는 이름이 상징하는 성능범위의 협소성 자체에 의문을 품는 것이 결코 과하지 않을 것이다. 당연한 말이지만 GTX 970이라는 이름으로 용인되는 성능범위가 지나치게 넓다면 그 자체로 문제가 된다.

 

앞의 글 (http://iyd.kr/712) 에서도 언급했듯 엔비디아는 GTX 980/970을 출시하며, GTX 980의 레퍼런스를 보란듯이 노출한 반면 GTX 970은 자체 레퍼런스를 제작하지 않았을 뿐 아니라 서드파티에서의 출시 역시 최대한 억제해오고 있다. (정확히는 비레퍼런스의 출시를 장려하고 있다.) 하드웨어 스펙상의 '사소한' 차이는 '사소하지 않은' 정도의 오버클럭이 가미되는 것만으로 손쉽게 은폐할 수 있다. 범람하는 비레퍼런스 GTX 970들의 이면에 이러한 기만의 의도가 숨어 있는 것은 아닌지, 나아가 동종 GPU 내에서도 개체별 ASIC값에 따라 달리 매겨지는 최대 부스트클럭과, 이러한 최대 부스트클럭에 사실상 성능을 의탁하고 있는 케플러 이후 GPU들의 설계의도 자체가 페르미 대비 두배 가까이 급상승한 이들의 품질편차의 은폐에 있는 것은 아닌지 의심해볼 때가 되었다.

 

//

 

(아래 위젯은 티스토리의 크라우드펀딩 시스템인 '밀어주기' 위젯입니다. 100원부터 3000원까지의 범위 내에서 글쓴이에게 소액 기부가 가능합니다. 사견으로는 이러한 형태의 펀딩이야말로, 성공적으로 정착될 경우 이해관계자로부터 독립된 벤치마크가 지속가능해지는 원동력이 될 것이라 생각합니다. 제가 작성한 글이 후원할만한 가치가 있다고 여기신다면 밀어주기를 통한 후원을 부탁드립니다. 물론 글을 '가치있게' 쓰는 것은 오롯이 저의 몫이며, 설령 제 글이 '후원할 만큼 가치있게' 여겨지지는 못해 결과적으로 후원을 받지 못하더라도 그것이 독자 여러분의 잘못이 아니란 건 너무 당연해 굳이 언급할 필요도 없겠습니다. 저는 후원 여부와 관계없이 제 글을 읽어주시는 모든 독자분께 감사합니다.)