
미니 궁금증: 2300/2400 GPU엔 어떤 개량을 했을까?
- Section31
- 조회 수 545
- 2023.03.13. 22:55
주석: 이하 모든 값은 허구의 시나리오입니다.
NOTE: All the values below are hypothetical/imaginary scenarios.
앞서 알려져 있는 추출된 커널 파일의 정보를 보면, 2300의 GPU부터는 gc ID값이 다름을 알 수 있는데,
Xclipse 920**의 경우 gc ID값은 gc_10_4 → gfx1040 으로 RDNA2가 ID값이 gfx1030임을 볼 때
AMD의 RDNA2 설계를 모바일 버전으로 바꿨을 뿐 사실상 그대로 이식한 것이 옳습니다.
** 이하 X920. 여기서는 특별한 의미가 없으면 X는 Xclipse를 뜻합니다.
그런데 X930부터는 SGPU M1, M2 이런 식으로 나와 있는데 각각 대응하는 gc ID값이
gc_40_1, gc_40_2로서, RDNA2 기반이므로 gfx4010, gfx4020 이런 식으로 해석이 됩니다.
그러나 RDNA3의 ID값이 gfx1100 이기 때문에, 확실히 다름을 알 수 있습니다.
그렇다면 커널 파일을 처음 분석하신 분도 그렇고, 저도 그렇고, 많은 사람들이 궁금해하는 것이,
도대체 삼성전자가 어떤 개량을 했을까 라는 점입니다.
안타깝게도, 저도 여기에 대해서는 툭 까놓고 말씀드리자면 모릅니다.
여기서는 소비전력은 고려하지 않고 단순 FP32 연산성능 기준으로만 따져 보았습니다.
CASE 1: 먼저 클럭당 성능 향상을 짐작해보자면....
이러려면 사실 사이클당 명령어 처리 수(IPC)가 늘어야 합니다.
오리지널 RDNA 아키텍처(1, 2, 3 등 모든 RDNA 버전 공통)의 FP32 연산성능 계산식은
(SP 개수) × (GPU 클럭) × 2 ÷ 100만 = FP32 [TFlops] 입니다.
그런데 단위 GPU 클럭[1 MHz] 당 기존의 RDNA2 아키텍처 대비 N%의 성능향상을 이루었다면,
보정계수는 W = 1 + N÷100**이 되며, 연산성능 계산식은
(SP 개수) × (GPU 클럭) × 2 × W ÷ 100만 = FP32 [TFlops] 가 됩니다.
** W = 1 은 오리지널 RDNA2 아키텍처와 동일한 성능을 뜻하며 기준치입니다.
간단하게 엑시노스 2400의 GPU로 보이는 X940의 SP개수=768 이라 가정하고,
경쟁상대인 아드레노 750이 740의 실성능(2.0 TFlops @ 719 MHz) 대비 30% 향상으로 가정합시다.
시나리오: 삼성이 동일 SP개수에서 W = 1.2 만큼, 즉 단위 GPU 클럭당
오리지널 RDNA2 아키텍처 대비 +20% 성능향상을 이루었다고 가정합시다.
그렇다면 필요 GPU 클럭을 X라고 할 때,
768 × X × 2 × 1.2 ÷ 100만 = 2.0 × 1.3 이 식이 되며,
∴ X = 2.0×1.3 ÷ (768×2×1.2) × 100만 = 1,411 MHz
가 됩니다. 즉 삼성이 SP개수의 조작 없이,
만약 단위 클럭당 20%의 성능향상을 이룬다면 같은 TFlops여도 원래 필요로 하는
수치로 알려진 1.7~1.8 GHz에서 1,411 MHz로 낮출 수 있을 것입니다.
동일 조건에서 +10% 성능향상만 이루어도 1,539 MHz 입니다.
하지만 이 방안의 경우 극한의 최적화가 필요합니다. 또한 다이사이즈가 약간 더 늘 수도 있습니다.
CASE 2: 다음으로 삼성이 WGP 개조를 해서 단위 WGP당 SP 개수를 늘리는 방안도 있습니다.
예를 들어 퀄컴의 아드레노 740은 1개 컴퓨트 유닛(CU)에 256개의 ALU가 있고,
총 컴퓨트 유닛 수는 6개입니다. 그래서 740이 1536개의 ALU를 가지고 있는 것입니다.
시나리오: 삼성이 종래의 1 WGP당 128개 SP에서 절반을 더 넣어서 192개로 만들었다고 가정합시다.
6 WGP 구성의 X940이라 할 때, 이 시나리오를 적용하면 1 WGP당 192 SP가 되므로,
총 SP 수는 192×6=1,152 개가 됩니다. 그러면 W = 1 이라고 가정할 때,
1152 × X × 2 × 1 ÷ 100만 = 2.0 × 1.3,
∴ X = 1,128 MHz
입니다. 따라서 삼성이 WGP 하나당 SP 개수를 50% 늘리면 X940이 750을 FP32로 이기는 데
필요한 GPU 클럭은 겨우 1,128 MHz 정도로도 충분한 것입니다.
하지만 이 방안의 경우에는 다이 사이즈 면적에 있어서 전자보다 불리해지게 되며,
1개 WGP당 소비전력은 상황에 따라 원래 SP개수보다 더 많이 우겨넣었기 때문에
전체적인 소비전력은 좀 더 증가할 수 있습니다.
사실 이것 또한 퀄컴도 실시간으로 직면하고 있는 문제로서,
아드레노 740의 ALU 증가는 어떻게든 클럭을 낮추기 위한 고육지책 중 하나입니다.
이 결과 다이사이즈와 소비전력에서 손해를 일정 수준 감수해야 했죠.
따라서 합리적인 방안은 위의 두 가지를 적절히 조합하는 것으로....
(SP개수) × G × (클럭) × 2 × W ÷ 100만 = FP32 [TFlops]
** G = 1 + M÷100 (M: 오리지널 RDNA2 아키텍처 대비 1WGP당 SP 개수 증가율[%])
** W = 1 + N÷100 (N: 오리지널 RDNA2 아키텍처 대비 단위 클럭당 성능 향상률[%])

Galaxy Note9 512GB
- 이후 플랜: Galaxy S24 Ultra (If possible)
[Tablet]
Galaxy Tab S6 Lite
- 이후 플랜: iPad Air 6? 또는 mini 7?
[Laptop]
Dell XPS 13 9370
- 이후 플랜: ????