MANTLE : 반년의 족적

Author : Daeguen Lee

(Any action violating either CCL policy or copyright laws is strictly prohibited)

 

 

 

 

처음부터 사족으로 글을 시작하자면, 사실 저는 위 그림을 처음 본 순간부터 엄청난 불편함을 느꼈습니다. 실제로 지구 내부는 위 그림처럼 같은 두께로 분할되어 있지 않기 때문이죠. 최상층인 지각은 가장 깊은 경우에도 100km를 넘지 않는 아주 '얇은' 층일 뿐이며 외핵 역시 저렇게 -맨틀이나 내핵에 비해- 상대적으로 큰 비율이 아닙니다. 뭐 아무튼... AMD는 사람들 보기 편하라고 지구 내부를 저렇게 등간격으로 그렸겠지만, 본의든 본의가 아니든 실제보다 맨틀을 훨씬 과소평가한 결과가 되고 말았습니다. (아... 뭔가 엄청난 아부처럼 들리게 되었는데, 이 리뷰의 톤과는 전혀 상관이 없음을 못박아 둡니다.)

 

오프닝을 이렇게 열였으니 뭔가 맨틀에 관해 그럴싸한 걸 보여 드리리라 생각하시겠죠. 결론부터 말하자면 맨틀의 장점은 분명히 존재하지만, 많은 사람들에게 널리 "잘못" 알려진 특성들과는 다른 측면에서 그 장점이 발현된다는 점입니다. 여러분이 사용하시는 제각기 다른 시스템에서, 어떤 경우엔 괄목할만한 성능 향상을 보여줄 수도, 어떤 경우엔 의외로 성능향상이 없거나 오히려 떨어질 수도 있습니다. 그리고 거기에는 잘 알려지지 않았던 명확한 규칙이 존재합니다.

 

과연 우리가 서 있는 이 땅 아래, 어떤 비밀이 숨어 있는지, 한번 파헤쳐 보겠습니다. :^)

테스트에 사용된 시스템은 아래와 같습니다.

 

 

오늘의 첫 벤치 항목은 배틀필드 4입니다.

사실 이 게임이 맨틀을 지원하게 된 지는 두달여가 지났지만, 프레임을 측정할 방법을 몰라 여지껏 테스트를 못 했었습니다.

(프랩스, 애프터버너 등의 프레임 카운트 방식은 DirectX 내부의 특정 명령어를 기준으로 하기에 맨틀에서는 아예 작동하지 않습니다)

 

그러다 며칠 전 게임 내에서 콘솔 프롬프트를 띄워 프레임을 측정할 수 있는 방법을 알게 되어 처음으로 시도하게 되었습니다.

1680 x 1050 / 1920 x 1080 / 2560 x 1600 세 가지 해상도에서 테스트가 진행되었습니다. 한번 보시죠.

 

 

 

1680 해상도에서의 결과입니다. 저해상도에서 CPU 병목이 가장 크게 일어나는 만큼 DX11 하에서는 CPU에 따른 성능 차가 극명히 드러납니다.

그나마 배필4가 멀티스레드를 지원하는 게임인 관계로 FX 시리즈는 적당한(?) 성능을 보여주고 있지만 펜티엄은 290X가 거의 280X랑 차이가 없을 정도입니다.

 

 

 

해상도를 올려 1920 x 1080 환경에서도 마찬가지입니다.

 

 

 

최고 해상도에서는 그나마 CPU 의존도가 줄어, DX11 하에서도 비교적 균일한 프레임을 보여주고 있습니다.

재밌는 점은 290X를 제외한 나머지 대조군에서 맨틀 하의 성능이 오히려 DX11보다 떨어졌다는 점인데...

CPU 병목이 없는 경우, 즉 순수하게 API 대 API로써의 비교에서는 DX11보다 맨틀이 약간 성능이 낮다는 뜻인 듯 합니다.

이후의 테스트 결과에는 일일이 코멘트를 달지 않겠습니다. 결론에서 한꺼번에 분석하도록 하죠 :)

 

 

 

 

 

 

 

 

 

결과를 간단히 요약하자면 아래와 같습니다.

 

1. 맨틀 그 자체가 DirectX보다 성능이 높지는 않습니다.

그래픽카드의 발목을 잡는 병목현상이 없는 경우 맨틀과 DX는 성능이 같거나, 오히려 DX가 미세하게나마 더 좋습니다.

 

2. 단, CPU로 인한 병목현상이 그래픽카드의 성능을 저해하는 경우, DX에서 맨틀로 이행하면 성능이 대폭 상승합니다.

물론 해당 그래픽카드로 DX에서 달성 불가능한 안드로메다급 성능향상이 아니라, '병목현상이 없었더라면 달성했을' 원래의 성능까지만 올라갑니다.

이 점으로 인해 저성능 CPU를 사용한 플랫폼에서 그래픽카드 업그레이드만으로 성능향상을 즐길 수 있게 됩니다.

 

3. 단, "모든" 저성능 CPU에 적용되는 것은 아닙니다.

정확히 표현하자면 맨틀은 "개별 스레드의 성능에는 크게 영향받지 않지만 멀티스레드에 최적화된" 처리 방식을 가집니다.

바꿔 말해 개별 코어의 성능이 상위 모델들과 크게 다를 바 없는 인텔 펜티엄 G3220은 2스레드밖에 처리할 수 없어 i7/i5는 물론이고 똑같은 2개의 물리코어를 갖는 i3보다도 훨씬 떨어진 성능을 보이게 됩니다. 몇몇 테스트에서는 오히려 해당 환경에서 맨틀 적용시 DX보다 떨어지는 결과를 보여 주기도 했습니다.

정확히 그 반대의 수혜를 본 케이스가 코어 i3 4130 (2코어/4스레드) 과 FX 4300 (2모듈/4스레드) 되겠습니다. 이들은 물리적으로 2코어 정도밖에 되지 않는 연산 자원을 가졌지만 논리적으로 4 스레드 처리가 가능하고, 그 결과 맨틀 하에서 괄목할 만큼 줄어든 병목현상을 보여 주었습니다.

 

 

종합하자면, 개별 코어 성능이 낮지만 코어 갯수가 많은 편이 맨틀 하에서 최적의 성능향상을 끌어낼 수 있는 조건이며, 아마 다분히 의도된 것이겠지만 이는 현 AMD의 하이엔드 데스크탑 프로세서인 FX 시리즈의 특징과 부합합니다.

 

즉, 이미 그래픽카드 성능을 병목현상 없이 뽑아낼 수 있는 CPU를 사용하고 있다면 굳이 맨틀로의 이행이 필요치 않을 수도 있습니다. (물론 훗날 더 고성능의 그래픽카드가 등장해 CPU가 발목을 잡기 시작하면 필요해지겠죠) 또한 CPU 병목현상이 존재하더라도, 스레드 수가 충분히 많지 않으면 맨틀 적용시 오히려 역풍을 맞을 가능성이 큽니다. 오직 "개별 코어 성능상의 한계"로 말미암은 병목현상이 존재할 때에만 맨틀은 제 역량을 발휘할 수 있습니다. 하지만, 바꿔 생각했을 때 '이론적으로 가능한' 병목현상 없는 최고의 그래픽카드 성능을 손쉽게 이끌어낸다는 점에서 맨틀 자체의 효율은 매우 좋아 보입니다.

 

한편, 맨틀의 개발사인 AMD가 현재 가장 공을 들이고 있는 영역이 콘솔 부문임을 생각하면 맨틀이 나아갈 길은 좀 더 확실해 보입니다. 현재 AMD는 저전력 x86 및 임베디드용으로 불도저 아키텍처와는 별개의 재규어 시리즈를 가지고 있으며, PS4 및 X Box One에 탑재된 SoC의 CPU파트에 적용된 것이 바로 8코어 재규어이기도 합니다. 재규어 자체는 인텔 아톰과 유사한 라인업으로 개별 코어의 성능은 매우 떨어지는 편이지만, AMD는 자사의 콘솔 SoC에 이러한 저성능 코어를 여덟 개 탑재하는 방향을 선택했습니다. 이런 방향에 비춰 볼 때, AMD가 대표적인 모바일용 게임 중 하나인 '식물 vs 좀비' 에 맨틀을 적용하겠다고 발표한 것이 결코 단발성 이벤트가 아니리라는 추측이 가능합니다. 결국 맨틀 역시, 최종 지향점은 모바일 영역에 있는 셈입니다.

 

긴 글 읽어 주셔서 감사합니다. :-)

//

 

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