GFX벤치(GFXBench, GLBenchmark) 2.7 결과와 GPU 성능 간에 어떤 관계성이 있는지 분석해봤습니다.
테스트 결과는 GFXBench 2.7 T-Rex offscreen를 기준으로 하며, 각 GPU 사양은 인터넷에서 최대한 정보를 긁어모아서 가장 적합한 사양을 선택했습니다. (특히 클럭)

연산부와 출력부가 명확히 분리되는 통합쉐이더 방식 GPU만을 대상으로 했습니다.
Mali-400, 테그라처럼 버텍스 쉐이더, 픽셀 쉐이더가 따로 존재하는 구조에서는 명확한 관계성을
(쉽게) 발견하기 어렵습니다.

통합쉐이더 방식을 선택했기때문에 퀄컴 Adreno, 이매지네이션 PowerVR 계열을 다루었습니다.
Mali-T600도 통합쉐이더이지만 아직 출시 제품의 사양이 다양하지 않기때문에 명확한 관계성을 찾기가
어려워서 대상으로 삼지 않았습니다.

향후 T700 계열 등 다양한 제품이 나온다면 다룰 수 있을지도 모르겠습니다.

사양 지표는 ALU, TMU, ROP.
성능 지표는 Frame/Clock (클럭당성능) - 클럭이라는 변수를 제거해야 합니다.


- Qualcomm Adreno


TMU 기준에서보면 관계성이 전혀 없습니다.
같은 TMU 사양에서 성능 사이의 분포가 너무 넓습니다.


ROP도 크게 다르지 않습니다.


ALU수를 기준으로 보면 ALU수와 성능 사이에 거의 선형에 가까운 결과가 나타납니다.
TMU, ROP수는 같은데 ALU수만 다른 GPU도 있는데 ALU수에 비례하는 경향을 보이는건 의미가 있겠지요.


우측 상단의 빨간점은 기존에 제가 추정한 Adreno420의 사양과 성능을 기준으로 표시한겁니다.
성능 관계 경향에 어느정도 들어맞습니다.

이 그래프에서 가장 이질적인 부분은 64ALU Adreno320 (Snapdragon S4 pro)입니다.
성능지표는 96ALU Adreno320 (Snapdragon 600)과 동일한 수준입니다.
그러면 스냅드래곤S4프로도 96ALU라고 생각하는게 맞는데,
그러자면 스냅드래곤S4프로와 스냅드래곤600 사이의 그래픽 성능 차이를 설명할 수 있는 방법이 없습니다.

(혹시 아시면 귀뜸 좀......)


- Imagination PowerVR


PowerVR 계열 역시 TMU 기준으로는 이렇다 할 관계성을 찾기 어렵습니다.
SGX544 까지는 어느 정도 비례하는 관계를 보이는듯하지만 우측 상단의 SGX554MP4 결과가
혼자서 크게 뜁니다.

다음에 볼 ALU 기준의 결과에서 SGX554도 잘 들어맞는걸 생각하면 TMU 기준으로는 관계성을
찾을 수 없다고 보는게 맞을듯 합니다.



ALU수 기준입니다.
SGX554MP4 결과까지 포함하여 선형 관계를 잘 보여주고 있습니다.


빨간점은 G6430, G6200의 추정 결과입니다.
G6430 : 애플A7, 4클러스터, 450MHz 추정.
G6200 : MT8135, 2클러스터, 600MHz 추정.
현재 G6000 계열에서 1클러스터당 ALU수가 불명인데 16, 32, 48 ALU/클러스터를 각각 표기했습니다.


PowerVR 시리즈6이 SGX5 에서 개선이 되었다면 최소한 SGX5와 비슷한 ALU당 성능을 보여야 합니다.
그렇다면 성능 경향상 1클러스터당 ALU수는 16개 혹은 32개입니다.
48개로 가정하면 성능효율이 너무 떨어집니다.
16 ALU/Cluster 기준으로 G6430의 성능지표를 보면 SGX543MP4에 비해 너무 높습니다.
거의 두 배 수준이지요.

가장 유력한건 32 ALU/Cluster가 아닐까 싶습니다.


- MT8135 GPU 클럭 추정.
여담으로 MT8135의 GPU, G6200의 클럭이 왜 600MHz로 추정되는지 말하겠습니다.
GFX벤치의 텍셀 필레이트 결과를 보겠습니다.

iOS
G6430 450MHz - 이론치 : 3600 Mtex/s - 실제 : 3464 Mtex/s - 효율 : 96%
SGX554MP4 300MHz - 이론치 : 2400 Mtex/s - 실제 : 2074 Mtex/s - 효율 : 86%

안드로이드
SGX544MP3 533MHz - 이론치 : 3198 Mtex/s - 실제 : 2090 Mtex/s - 효율 : 65%
MT8135 ???MHz - 이론치 : ??? Mtex/s - 실제 : 1744 Mtex/s - 효율 : ???%
(
http://gfxbench.com/device.jsp?benchmark=gfx27&os=Android&api=gl&D=Alps+mt8135_mg2w_a2+%28PowerVR+Rogue+Han%29&testgroup=lowlevel)

iOS 기반 결과를 보면 SGX5에서 시리즈6으로 넘어가면서 효율이 올랐습니다.
86 -> 96 : 11% up
물론 iOS 기반 SGX5 결과 중에서 96% 수준의 결과가 있긴합니다만 저사양에서의 결과이기때문에
고사양 결과에 적용하기 힘들다고 봅니다.

이 효율 향상이 시리즈6에 적용된 개선점이라고 가정하고 안드로이드에 적용해보면......
안드로이드 기반에서 시리즈6의 텍셀 효율은 65%에서 11% 올라간 73% 정도입니다.
이 효율을 MT8135의 테스트 결과에 적용시켜보면 MT8135 G6200의 이론텍셀성능은 2397 Mtex/s
G6200의 사양(4 tex/cycle)을 통해 클럭을 역산하면 599.2 MHz가 나옵니다.
대충 600MHz라는거지요.


- 정리.
Adreno, PowerVR GPU는 ALU수와 GFX벤치 결과가 비례하는 경향을 보임.
PowerVR 시리즈6은 32ALU/Cluster로 추정.
MT8135 G6200 클럭은 600MHz로 추정.



Posted by gamma0burst Trackback 0 : Comment 12

댓글을 달아 주세요

  1. addr | edit/del | reply 흡혈귀왕 2014.01.18 20:10

    안드로이드용 GPU-Z가 시급!(응?)

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2014.01.18 20:20 신고

      진짜 절실합니다.
      종류는 둘째치고 클럭 셋팅이 죄다 달라서 구글링으로 스펙정리하다보면 지금 이게 뭐하는 짓인지 회의감이 아주....

  2. addr | edit/del | reply ㅁㄴㄹㅎ 2014.01.19 16:02

    ddr3와 ddr2의 대역폭차이때문일리는 없나요? alu가 증가한것 치고는 벤치프레임향상폭이 너무 낮습니다.. 제가 그래픽카드 7950크파로쓰는데 384비트로 충분한 대역폭임에도 메모리오버해주면 삼디막11 점수가 6~7퍼센트정도 오르던데말이죠.

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2014.01.19 16:55 신고

      일단 결과를 보면 그럴 가능성은 낮아보입니다.
      LP3 쓴건 삼성제품 정도 밖에 없는데 LP2 쓴 다른 제품하고 이렇다할 차별성을 보이지는 않거든요.

      PC GPU와 모바일 GPU는 렌더링 방식에서 차이가 있어서 메모리 대역폭 영향을 덜 받지 않을까 싶습니다.

  3. addr | edit/del | reply ㅁㄴㅇㄹ 2014.01.19 16:07

    pc그래픽카드의경우 코어클럭을 40퍼센트땡겨주고 메모리오버도 적절히해주면 cpu성능이 받쳐준다는 전제하에 코어클럭 땡긴만큼 프레인이올라갑니다. 하지만 모바일기기는 말리라던지 sgx 아드레노 전부써봤지만 코어클럭 땡긴만큼 프레임 안올라가더라고요 벤치도마찬가지고.. . 대역폭문제같은데말이죠. 대역폭이 완전히 발목잡는건 아니지만(330도 lpddr3인마당에 320 오버가 대역폭이 심히 부족할거같진않고) 어느정도는 발목을잡는것 같은데요.. 말리400mp4같은경우 533에서 800으로오버해도 벤치점수향상은 고작 10퍼센트 조금 더 오르는정도고 아드레노320은 400에서 627로 오버하면 약 25에서 30퍼정도 오르더군요..

    • addr | edit/del ㅁㄴㅇㄹ 2014.01.19 16:09

      저기서 320은 뉴넥서스 ddr3l말하는겁니다. 만약 lpddr2를 채택한기기의 320을 오버해봤을때 효율이 저거보다 떨어진다면 대역폭 문제같네요

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2014.01.19 17:03 신고

      만약 메모리 대역폭이 문제였다면 성능이 낮은(=메모리 대역폭 요구량이 낮은) 말리400 보다 성능이 높은 아드레노320 쪽에서 성능 저하가 있었겠지요.

      오버클럭시 성능이 클럭에 비례하지 않는건 프레임버퍼 등의 GPU의 서브 메모리 시스템의 한계일 가능성이 높습니다.
      테스트 종류에 따라서는 CPU 병목일 수도 있고요.
      (http://gamma0burst.tistory.com/630)

  4. addr | edit/del | reply Favicon of https://random-ad.tistory.com BlogIcon JordanK 2014.01.19 20:19 신고

    두번째 문단 세번째 문장 이매지네이션 Adreno -> 이매지네이션 PowerVR

  5. addr | edit/del | reply 꼬륵 2014.02.07 09:43

    몇 가지 여쭤볼 게 있습니다.


    1. 안드로이드가 아이폰보다 2d 그래픽 성능은 2배가량 높은데, 3d는 아이폰이 앞서는 이유가 뭔가요?
    http://www.androidbenchmark.nethttp://www.iphonebenchmark.net

    2. 아이폰의 cpu가 안드로이드보다 훨씬 높게 측정되는 이유가 뭔가요?
    iphone : http://www.iphonebenchmark.net/cpumark_chart.html
    android : http://www.androidbenchmark.net/cpumark_chart.html

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2014.02.07 23:35 신고

      두 질문에 모두 공통된 답변인데, 결국 벤치마크 특성입니다.
      다만 결과를 놓고봐서는 그렇게 제품 간 성능비교가 잘 되고 있는 것 같지는 않네요.
      CPU점수를 보면 애플 A7(Cyclone코어, 1.4GHz, 듀얼코어)이 테그라4(Cortex-A15 1.9GHz 쿼드코어)보다 두배 높은 점수가 나오는데,
      기타 다른 벤치마크 결과와 비교하면 이건 터무니없이 성능차이가 큽니다.
      다른 벤치보면 테그라4가 앞서거나 비슷한 수준이지요.

      같은 사양의 다른 제품들의 점수가 비슷하게 나오는걸 봐서 일관성은 있는데 그렇게 신뢰할만한 벤치마크는 아닌듯 합니다.

    • addr | edit/del 꼬륵 2014.02.14 20:44

      제가 알아보니 이서 os별로 수치가 다르다고 하네요. ios수치와 안드로이드 수치를 그대로 비교하면 안 되는 것 같습니다. 윈도우쪽 성능만 ios와 비교하여 보더라도 수치가 말이 안 되네요.