미니 잡담: Arm 말리 GPU의 연산성능 계산법
- Section31
- 조회 수 484
- 2023.04.02. 20:30
먼저, 밑의 두 종류의 GPU는 FP32 연산 성능 계산식이 매우 직관적입니다.
1) 퀄컴의 아드레노(Adreno) GPU
2) 삼성의 RDNA2 기반 엑스클립스(Xclipse) GPU
각각 다음과 같은 식으로 계산하면 됩니다. 단위는 FP32(GFlops**).
** 기가플롭스 단위이며, 테라플롭스로 환산하려면 계산결과에서 1000을 나누면 됩니다.
1) 아드레노 GPU: (ALU 수) × (ALU당 MP수) × (클럭) × 2 ÷ 1000
2) 엑스클립스 GPU: (SP 수) × (클럭) × 2 ÷ 1000
하지만, Arm의 Mali(말리) GPU는 연산성능 계산이 직관적이진 않은 편입니다.
Mali GPU의 연산성능을 계산하려면 다음 정보들이 필요합니다.
1) 코어 수 (MPx) : 이를 X라고 하겠습니다.
2) MP 하나당 산술 엔진(Arithmetic Engine) 수 : 이를 Y라고 하겠습니다.
3) 1사이클당 FP32 연산 횟수 : 이를 W라고 하겠습니다.
4) GPU 클럭 (MHz) : 이를 V라고 하겠습니다.
그러면 말리 GPU의 이론상 FP32 연산성능은
FP32 (Mali) = X × Y × W × V [MFlops]
가 됩니다.
예제로, 엑시노스 2100에 탑재된 Arm Mali-G78 MP14 858(760) MHz의 연산성능을 계산해보죠.
1) Mali-G78 의 코어 수 : X = 14
2) 코어 하나당 산술 엔진 개수 : Y = 2
3) 코어 하나당 FP32 연산 횟수 : W = 64
5) 클럭 : V = 858 (MHz)
그러면 이들을 모두 곱하면 14×2×64×858(760) = 1,537(1,361) GFlops
가 나옵니다. TFlops로 환산하면 1.537(1.361) TFlops 정도 나오네요.