본문 바로가기

Review/vga_review

맥스웰의 모든 것 : 이론편

 

Author : Daeguen Lee

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

 

 

 

 

 

그래픽카드 리뷰 카테고리엔 정말 오랜만에 새 글을 올리게 되었습니다. 아마 작년 1세대 맥스웰 -GM107 : GTX 750 시리즈- 리뷰가 마지막이었죠? 그 동안 2세대 맥스웰 -GM204 : GTX 970/980- 이 출시되었지만 타이밍을 놓쳐 엠바고에 맞춰 리뷰를 올리지는 못했고, 뒤늦게 GTX 980을 구하긴 했지만 이미 늦은 리뷰를 올려 무엇하나 vs 늦었더라도 리뷰를 올려 컨텐츠의 완결성을 기해야 하지 않나 하는 번뇌가 길어지다 보니 어느덧 오늘이 되었습니다. (이런 우유부단한 사람을 보았나...) 하늘이 도왔는지 마침 오늘, 2세대 맥스웰의 막내 격인 GTX 960이 현 시간부로 베일을 벗게 됐는데 개인적으로는 이 기회를 뒤늦게 GTX 970/980 리뷰를 겸해 올림으로써 지각을 만회하는 자리로 삼으려 합니다.

 

물론, 뒷북 리뷰이니만큼 여타의 장소에서 이미 접할 수 있었을 노동집약형 벤치마크 자료를 전달하는 것에 지나지 않고, 글쓴이 나름의 직관과 가설을 풍성하게 곁들여 '리뷰' 자체보다도 제 견해를 여러분 앞에 선보이고 여러분이 검증할 수 있는 기회를 드리는 것을 작은 목표로 생각하고 있습니다. 아마 여러분도 이곳에서 읽을 글에 기대하는 것이 어디서나 볼 수 있는 것이기보다는 '여기서만 접할 수 있는' 무언가일 것이리라 짐작합니다. 물론 그렇다고 해서 '어디서든 얻을 수 있는' 내용에 소홀하겠다는 말은 아니지만요.ㅎㅎ

 

그런고로, 이 글이 쓰여진 직접적인 동기가 GTX 960의 출시인 만큼 GTX 960을 소개하는 데 상당한 부분을 할애함이 마땅하겠으나 모든 당위를 무시하고 글의 주제를 'Maxwell in general' 로 설정하려 합니다. 글 전체는 3부(편) 정도의 구성으로 나눠 쓰는 것을 계획하고 있으나 최종적으로 분량을 고려해 1~2편으로 통폐합될 가능성도 있습니다. 일단 지금으로썬 맥스웰 아키텍처 전반에 대한 이론적 배경을 1부로, GTX 900 시리즈 (960/970/980) 의 벤치마크를 2부로, 이들의 SLI 벤치마크를 3부로 작성하려 계획 중입니다만 이론편을 얼마나 읽음직스러운 문체로 매끄럽게 써 내려가느냐가 3부작의 운명을 가르는 첫 관문이 될 것 같습니다. (쓰다가 영 말이 안 나온다 싶으면 1+2부 통합본으로 1부를 구성할 예정입니다.)

 

각설하고, 작년 이맘때쯤으로 돌아가 봅시다. 그때쯤 1세대 맥스웰인 GM107 칩셋이 세상에 등장했습니다.

 

- 엔비디아 지포스 GTX 750 Ti 리뷰 : http://iyd.kr/624

 

원문이 영문으로 작성되어 있는 관계로 간단히 국문으로 옮겨 보자면, 리뷰의 결론부에서 "(GTX 650 Ti를 연상시키는 작명에 불구하고) 그 전임자와는 비교할 수 없을 만큼 빠르며 GTX 650 Ti Boost와 견줄만 하다" 고 평가함과 동시에 "그러나 이미 현존하는 성능 레벨의 그래픽카드를 현존하는 가격 레벨 내에 출시하는 것이 어떤 의미가 있는가" 라며 평가절하하는 뉘앙스도 동시에 비친 바 있습니다. 물론 시장에서는 뛰어난 전력효율을 바탕으로 소비자들에게 상당히 어필한 모양이지만 적어도 GM107 기반 제품들을 바라보는 제 이러한 시각에는 아직까지도 큰 변화가 없습니다. 모름지기 세대교체가 이뤄졌다면 적어도 둘 중 하나를 만족해야 하지 않겠습니까.

 

1. 전례없는 레벨의 성능을 달성하거나

2. (현존하던 성능일지라도) 전례없이 낮은 가격에 공급하거나

 

그리고 제 이런 기준을 만족시키는 세대교체형 신제품의 등장은 작년 연말 2세대 맥스웰, 그러니까 GM204 기반의 지포스 GTX 970/980의 출시로 비로소 이뤄졌다 할 수 있겠습니다. 이렇듯 1세대 / 2세대 맥스웰에 대한 평가는 사뭇 달랐으나 어쨌든 이들은 "맥스웰" 이라는 공통분모를 기저에 깔고 있으며 그것은 이들 사이에 놓인 모델들 -GTX 760, 770, 780, 780 Ti- 과 이들 사이의 모델명의 친소관계를 넘어서는 것임이 분명합니다. 예컨대 GTX 750 Ti와 GTX 760이 라인업상 얼마나 인접해 있듯, 그리고 GTX 980은 GTX 750 Ti보다 GTX 780 Ti에 얼마나 더 가까운 위상을 가지는지에 상관없이 GTX 750 Ti와 GTX 980만이 공유하는 특성들이 있다는 말이죠. 그렇다면 "맥스웰"이 전세대 아키텍처인 "케플러" 대비 달라진 것은 무엇이었을까요. 우선 엔비디아의 공식 슬라이드를 한 장 발췌해 보도록 하겠습니다.

 

 

엔비디아에 따르면 맥스웰의 연산유닛 효율은 케플러 대비 135% 수준으로 개선되었다고 합니다. 이 시기에 즈음하여, 제 홈페이지의 VGA 계산기를 사용해 맥스웰의 연산유닛이 케플러 대비 이룩한 성능향상률(= '맥스웰 계수')을 약 1.3배에서 1.4배 사이로 예측하는 글을 작성한 바 있는데 결과적으로 정확히 그 범위의 한복판에 위치한 값을 엔비디아가 공식적으로 제시함으로써 매우 신기해했던 기억이 있습니다.

 

- 2세대 맥스웰 성능 예측 : http://iyd.kr/668

 

그러나 실제 성능향상률이 35%에 달하는 것과 개별 유닛이 35%씩 개선되었다는 것은 엄밀히 보면 서로 다른 명제입니다. 개별 유닛의 효율이 향상되었더라도 이들을 관리하는 차원에서 크나큰 비효율이 발생한다면 실제 성능향상률이 그에 못 미칠 수 있는 것이고, 반대로 개별 유닛을 그대로 우려먹더라도 관리상의 효율을 꾀하는 것만으로 현실에서의 성능향상을 이끌어낼 수 있기 때문이죠. 제가 주목했던 부분은 맥스웰이 엔비디아의 통상 스케줄에 맞춰 등장한 아키텍처란 점 (= 비정상적으로 늦게 나오거나, 깜짝 등장한 게 아니라는 뜻) 및 GPU에 사용되는 ALU의 파이프라인 구조가 지극히 단순한 것이라는 점이었습니다.

 

아시다시피 간단한 것일수록 개선하기 어렵습니다. 이미 그 자체로 군더더기 없이 필요한 것만 구현한 것일 가능성이 높기 때문이죠. 더군다나 맥스웰의 출시 스케줄상 엔비디아가 굉장히 오랜 기간 갈고 닦은 전혀 새로운 무언가를 도입했다고도 믿기 어려운 상황입니다. 그렇다면 ALU 그 자체의 개선보다는 그보다 거시적인 차원에서의 최적화가 있었지 않을까에 의문의 초점을 맞춰보게 된 것은 당연한 수순입니다. 그리고 여기부터 제 가설을 풀어 봄과 동시에, 'VGA 계산기'를 이 글의 주인공으로 등장시켜 볼까 합니다.

 

최초 VGA 계산기는 아래 세 개의 항을 큰 틀로 하여 GPU의 사양을 입력하면 그 성능을 시뮬레이션해 주도록 고안되었습니다.

 

 

당시까지 막연히 GPU 클럭, 쉐이더 갯수, 메모리 클럭/비트수 등을 바탕으로 짐작할 뿐이던 그래픽카드의 성능을 처음으로 '계산' 해 낼 수 있는 하나의 수식을 모델링한 것에 의의를 둘 수 있었을 것입니다. 실제로 최초 개발 이후 4년간 별다른 수정을 가하지 않고도 매번 당대의 신제품들의 예상 성능을 상당한 적중률로 예측해낸 바 있으며, 실은 지금까지도 같은 아키텍처끼리의 비교에서는 여전히 유효한 결과값을 출력하는 등의 성과를 거뒀습니다. 그러나 동시에 이 식이 갖는 약점 역시 명백했습니다.

 

"아키텍처간의 변화가 반영되지 않는다!"

 

이 점은 맥스웰이 등장하며 더욱 선명해졌습니다. 앞서 언급한 '2세대 맥스웰 성능 예측' 글에서의 '맥스웰 계수'의 도입 역시 통상적인 방법으로는 도저히 계산기를 맞게 작동시킬 수 없어 인위적으로 맥스웰의 사양표에 특정 계수를 곱해 입력하도록 할 목적으로 계산해낸 것이었으니까요. 다행히(?) 맥스웰의 사양에 1.35를 곱해 입력하면 실제와 유사한 성능관계를 얻어 낼 수 있었으나 VGA 계산기의 고안자로써 찝찝하지 않을 수 없는 상황이었습니다. 그러던 중, 처음엔 이것과 별개로, 맥스웰과 케플러 사이의 차이를 탐구할 목적으로 맥스웰 아키텍처를 설명한 엔비디아의 슬라이드를 찾아 보게 됩니다. 그리고 이것을 발견합니다.

 

 

바로 맥스웰과 케플러 각 아키텍처에서 GPU의 기본 단위가 되는 SM의 구조입니다.

 

위의 그림을 바탕으로 설명하자면, 케플러는 1개의 SM 안에 두개의 스케줄러가 내장되어 다시 각각 두개씩의 디스패치 유닛을 관리하고, 이렇게 구성된 (CPU로 치면) 프론트엔드에 192개의 ALU와 16개의 텍스처 유닛이 백엔드로써 결합되어 있는 구조라 할 수 있습니다. 반면 맥스웰 1SM은 프론트엔드 부분은 케플러에서 변함이 없으나 백엔드 부분이 간소화되어 ALU 갯수는 3분의 1 줄어든 128개가 되고, 텍스처 유닛은 절반인 8개가 되었습니다. 개별 유닛의 효율이 그대로라고 가정할 때, SM 대 SM의 비교에서는 맥스웰 쪽이 성능을 희생할 수밖에 없는 구조이나, 이로써 확보한 여분의 면적(= 여분의 트랜지스터)에 추가 SM을 탑재할 여력이 생기면서 결과적으로 기존보다 적거나 동등한 수준의 면적(= 트랜지스터)으로 더 높은 성능을 구현해내고 있습니다.

 

보다 거시적으로, SM을 최소단위로 보자면 엔비디아는 역시 공식 자료를 통해 맥스웰 1SM이 케플러 1SM의 90%의 성능을 발휘한다고 한 바 있습니다. 3분의 2에 해당하는 연산유닛 수로 90%의 성능을 발휘한다는 것인데 이를 간단히 역산하면 위 슬라이드에 나온 135%라는 숫자가 얻어집니다.

 

90% ÷ 2/3 = 135%

 

SM당 ALU 수가 감소했다는 것을 뒤집어 생각하면, 동수의 ALU를 가졌을 때 상대적인 SM 수가 늘어남을 의미합니다. 케플러와 맥스웰의 SM이 공통적으로 장착한 것이 2개의 스케줄러와 4개의 디스패치 유닛인데, 결국 맥스웰의 경우 케플러보다 단위 ALU당 스케줄러/디스패치 유닛 비율이 1.5배 가량 늘어난 것이라고도 할 수 있겠습니다. 그 연장선에서 GK110과 GM204를 비교하자면 ALU 갯수는 2880개에서 2048개로 소폭 감소했으나, 탑재하고 있는 SM 갯수는 15개에서 16개로 오히려 6.67% 증가했고 이에 비례해 스케줄러와 디스패치 유닛도 각각 60 -> 64, 120 -> 128개로 6.67%씩 GM204쪽에 더 많이 장착되어 있습니다. 여기에 맥스웰의 '개선된 효율'의 비밀이 숨어 있습니다.

 

 

아주 러프하게 스케줄러-디스패치 유닛-ALU가 전체 작업시간에 기여하는 비중을 1:1:1로 볼때, 케플러와 맥스웰 SM들의 작업시간을 표현해 보면 아래와 같을 것입니다,.

 

케플러 : 1 + 1 + 1 = 3

맥스웰 : 1 + 1 + 1/(2/3) = 3.5

 

이 경우 맥스웰 SM의 성능은 케플러 SM의 86% 가량이 되는데(= 3/3.5), 애초 1:1:1이란 비율 자체가 아주 러프하게 가정된 것이니만큼 실제 반영비율이 이것으로부터 어떻게 달라지는지에 따라 맥스웰 SM은 얼마든지 케플러 SM대비 90%의 성능으로 간주될 수 있을 것입니다. 이로써 적어도 -뭔가 찝찝한- 막연히 '기술적인 진보'가 이뤄졌다는 믿음을 가지지 않고서도 얼마든지 맥스웰까지 VGA 계산기로 커버할 수 있게 되었고, 이 사실이 암시하는 것은 이제까지 테슬라 -> 페르미 -> 케플러로 이행하는 동안 엔비디아가 행해 온 것과 마찬가지로 맥스웰은 이 세상에 전혀 없던 새로운 무언가를 창조한 것이기보다는 기존의 것을 더 효율적으로 재배치해 끌어낼 수 있는 최대한의 가능성을 끌어내도록 한 설계라는 것입니다.

 

일단, VGA 계산기 자체는 아래와 같은 수정을 거쳤습니다. (그간은 최초의 3항 중심 설계의 틀을 유지하며 세부 계수값만 조정해 왔는데, 틀 자체를 바꾼 것이 이번이 처음이니 정식으로 버전을 매기고 있었더라면 비로소 2.0이 되었을 법한 상황입니다.)

 

기존 항 구성 : 쉐이더 성능 + 텍스처 성능 + 렌더링 성능

새로운 항 구성 : 스케줄러 성능 + 디스패치 성능 + 쉐이더 성능 + 텍스처 성능 + 렌더링 성능

 

그동안의 식에서 (CPU로 치면 백엔드에 속하는) 쉐이더/TMU/ROP에만 신경쓰며 이들간의 밸런스를 찾는 데 온 힘을 기울인 반면 이들 백엔드에 명령어를 이슈하고 스케줄링해 주는 프론트엔드의 역할을 과소평가해온 것에 그간 품어 온 의문의 해답이 있던 셈입니다. 이러한 수정을 가함으로써, 종전의 식으로는 맥스웰 기반 GPU의 사양값에 각각 1.35를 곱해 대입하면 실제 성능관계와 비슷한 결과를 얻을 수 있던 것을, 이제는 있는 그대로 입력해도 현실과 동일한 성능관계를 얻을 수 있게 되었습니다.

 

 

이러한 발견(?)에 몹시 흥분하며 세부적인 계수를 조정해가던 중, 한번 더 거대한 충격이 다가왔습니다.

 

 

바로 AMD와 엔비디아 양사의 그래픽카드에 적용되던 별개의 식이 단일식으로 통합된 것입니다.

다시 말해, 그동안은 프론트엔드의 차이를 반영하지 못한 탓에 AMD의 1 유닛과 엔비디아의 1 유닛을 동일선상에 놓고 비교할 수 없었으나 프론트엔드의 차이를 반영하게 되며 비로소 제조사를 가리지 않는 범용 계산식이 된 것입니다. 위 사진에서 Test 열에 입력된 값은 라데온 R9 290X의 사양인데, 이로써 계산된 값과 그 아래 열거된 엔비디아 대조군들과의 관계를 보시기 바랍니다. 놀랍지 않으신가요? :)

 

VGA 계산기에 관한 이야기는 이쯤 하고, 다시 본연의 주제 -맥스웰의 이론적 소개- 로 돌아가 봅시다. 지금까지 이야기한 '135%' 에 관한 부분 외에 엔비디아가 특히 열거한 맥스웰의 특징은 아래와 같습니다.

 

 

 

델타 컬러 컴프레션 (델타 색압축, 이하 델타 압축으로 표기) 기술을 도입하여 메모리 대역폭 요구량을 종전 대비 약 25%가량 줄일 수 있었다고 합니다. 이를 역산하면 맥스웰의 메모리 대역폭 효율은 종전보다 약 33%가량 향상된 셈입니다. (= 0.75/1 = 1.33...) 현재 맥스웰 기반 최상위 제품인 GTX 980은 사용하는 메모리 인터페이스가 256bit GDDR5로 케플러 기반 최상위 제품인 GTX 780 Ti (= 384bit GDDR5) 대비 3분의 2 수준이나 델타 압축에 힘입어 이로 인한 핸디캡을 최소화할 수 있었을 것입니다.

 

이러한 특성은 외려 최상위 라인업에게보다도 적은 메모리 비트수를 갖는 중하위 모델에 더 큰 이득이 되는데, 일례로 128bit GDDR5 메모리 인터페이스를 갖는 GTX 750 Ti가 종전 엔트리 수준의 메모리 사양에 불구하고 192bit GDDR5 메모리 인터페이스를 갖는 메인스트림의 GTX 650 Ti Boost와 비슷한 성능을 냈던 전례가 있습니다. 또한 오늘 소개할 GTX 960 역시 128bit GDDR5 메모리 인터페이스를 갖고 있으나 델타 압축에 의한 효율 향상을 고려하면 최대 170bit 정도에 상응하는 실효 대역폭을 갖게 될 것으로 보입니다. 실제 엔비디아 자신들도 GTX 960을 소개하는 공식 슬라이드에 유효 메모리클럭을 9.3 Gbps로 표기해 두었기도 합니다. 실 작동클럭이 7.0 Gbps이니 정확히 33%를 미리 가산해둔 셈입니다.

 

 

이것으로 이론편을 마치고, 다음 글에서 본격적인 성능 테스트 결과를 살펴보도록 하겠습니다 :)

 

* 글 첫머리에 나오는 초상화의 주인공은 물리학자인 제임스 클라크 맥스웰입니다.

 

//

 

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