미니 퀄컴이 발표하는 AI성능이 어떻게 계산되는걸까요?!?
- LaPL
- 조회 수 1358
- 2023.08.17. 11:49
대표적으로 8(+) Gen 1 시리즈는 퀄컴이 AI engine에서 27 TOPS성능을 낸다고 광고중인 AP입니다. 아마 Gen1 까지는 가장 low bit의 datatype이 int8이니 int8기준 성능으로 추정됩니다.
저 AI Engine은 CPU + GPU + Hexagon DSP를 모두 사용하는 퀄컴의 DNN 런타임 S/W로 다음과 같이 동작합니다.
스냅드래곤 SoC내의 연산자원은 그림과 같이 CPU, GPU Hexagon DSP로 이루어져 있고. DPS중 연산을 담당하는 cDSP (Compute DSP)는
64bit SIMD를 지원하는 Hexagon H/W thread와 128-byte SIMD를 지원하는 HVX유닛, 그리고 서드파티 개발자에게는 거의 공개되지 않은 HMX (Hexagon Matrix eXtension unit)으로 구성되어 있습니다. 8(+) gen1 시리즈의 v69 cDSP는 4개 H/W thread, 4개 HVX유닛이 탑재되어 있습니다. (boost clock 1.4Ghz, HMX는 정확한 제원 없음)
그래서.... 8 Gen1 기준 알려진 H/W의 이론상 최대 성능(Rpeak)은 다음과 같습니다.
- CPU : 16 x 2 x 17.66Ghz [128b NEON SIMD * FMA * (3.0 MP1 + 2.5MP3 + 1.79MP4)] = 565 GIOPS
- GPU : 1024 ALU x 2 x 818Mhz = 1.675 TOPS(FP32, INT8), 3.35 TFLOPS (FP16),
- Hexagon DSP
- Hexagon H/W Thread : 8 x 2 x 1.4Ghz x 4 [64b SIMD * FMA * 1.4Ghz * MP4] = 89.6 GIOPS
- HVX : 128 x 2 x 1.4Ghz x 4 [128-byte SIMD * FMA * 1.4Ghz(추정) * MP4] = 1.433 TIOPS
- HMX : 알려진 H/W 제원 없음, 다만 cDSP SDK에서 제공하는 BLAS GEMM (행렬곱) 벤치마크 성능은 최대 1 TIOPS 내외
다 더해도... 27 TOPS에 발끝에도 못 미치는 수치입니다 (...)
심지어 CPU에서 A510 리틀코어는 연산에 별 이득이 없으니 2배 정도 뻥튀기 된 값이고 (ARM의 자체 BLAS로 코드를 짜 봐도 리틀코어 들어가는 순간 성능이 하락, 멀티코어 동기화 문제로 성능 낮은 코어가 병목 발생)
Adreno 730 GPU의 경우에도 실수 ALU : 정수 ALU가 4 : 1구성으로 들어있어서 INT8보다 FP16이 더 빠릅니다.
믿었던 Hexagon 마저 공개된 H/W제원으로든 퀄컴이 직접 공개하는 퍼스트파티 BLAS코드로든 성능이 수 TIOPS를 못 벗어나는 결과를 보니.... 대체가 저 27 TOPS는 어디서 나온 값 인지 모르겠습니다. 과장까지는 아니더라도 좀 수치를 올려치는 풍토가 SoC쪽에 만연되어 있는데 그래도 저정도 까지 차이나지는 않을텐데말이죠.
아직 퀄컴이 NVIDIA다음으로 비메모리 펩리스 2위 업체일텐데.... 뭔가 하는 것은 있는데 외부로 공개되는건 별로 없고(...) 써 주겠다고 해도 이모양이니 힘드네요. 엔비디아 개발자 포럼에는 직원이 답해주고, AMD포럼에서는 개발자들끼리 소통은 되는 수준인데.... 퀄컴 개발자 포럼은 질문만 있고 답을 찾지 못하는 유령도시가 된 지 오래더군요.