※ 이 글은 오가사와라 히로유키(小笠原博之) 씨가 블로그에 적은 글을 번역한 것입니다. 사정에 따라 예고없이 삭제될 수 있으므로 양해부탁드립니다.

iPad Air 2(Apple A8X)의 부동소수점 연산능력

(원문 : iPad Air 2 (Apple A8X) の浮動小数点演算能力)

iPad Air 2(A8X)의 부동소수점 연산능력을 조사해보았습니다. 더 자세한 기록은 다음 페이지에 올려놓았습니다.

// iPad 2 Air (Apple A8X)

ARCH: ARMv8A
VFP: AArch64 NEON
SingleT SP max:  23.568 GFLOPS
SingleT DP max:  11.751 GFLOPS
MultiT  SP max:  68.591 GFLOPS
MultiT  DP max:  33.968 GFLOPS
CPU core: 3
FMA: Yes
NEON: Yes

↑정말로 CPU가 3 core였습니다. 모바일 기기에서는 좀처럼 보기 힘들고 Xbox360이나 Wii U 등 게임기에서 많이보이는 구성입니다.

원래 Cyclone은 Apple A7에서도 부동소수점 연산능력이 돌출된 CPU였는데, A8X에서도 거의 같은 경향을 보입니다. 부동소수점 연산능력은 스칼라와 벡터 모두 2 명령 동시 실행이 가능하고, NEON의 128bit 덧곱셈[각주:1]도 병렬로 실행합니다. 동작 클럭은 낮지만, 3 core가 됨으로써 다른 ARM Core의 4 core에 필적하는 수치를 보여줍니다. (아래 표의 (*1))

	      Apple A8X   Snapdragon 800   Tegra K1    Atom Z3745
               Cyclone      Krait 400     Cortex-A15   Silvermont
	      1.5GHz x3     2.2GHz x4     2.2GHz x4    1.83GHz x4
------------------------------------------------------------------
SingleT SP      23.568       17.128        17.136        8.946
SingleT DP      11.751        4.289         3.431        2.797
MultiT  SP(*1)  68.591       67.539        70.174       35.473
MultiT  DP      33.968       16.874        14.036       11.060

 * 수치는 GFLOPS, 값이 클수록 고속
 * 배정밀도(DP)에서 차가 크게 벌어진 것은 ARMv7A(32bit)에 NEON이 없기 때문
 * 최대치이므로 실제 애플리케이션 동작속도와는 다를 수 있음

명령별 로그를 더 자세히 살펴보면, A7에서 왠지 느렸던 배정밀도의 스칼라 덧곱셈 연산이 개선되었음을 알 수 있습니다.

// iPhone 5s (Apple A7)
배정밀도연산
                             실행시간 연산수   연산수
---------------------------------------------------------------
FPU fmul (64bit x1) n8      :  1.642   2436.1   2436.1
FPU fadd (64bit x1) n8      :  1.045   3827.0   3827.0
FPU fmadd (64bit x1) n8     :  3.915   2043.6   2043.6 --- (A-7)
NEON fmul.2d (64bit x2) n8  :  1.567   5105.1   5105.1
NEON fadd.2d (64bit x2) n8  :  1.034   7736.5   7736.5
NEON fmla.2d (64bit x2) n8  :  1.958   8172.1   8172.1 --- (B-7)

↑ Apple A7에서는 FPU fmadd의 덧곱셈(A-7)만 3.915로 이상하게 실행시간이 길었습니다. 같은 덧곱셈이라도 NEON fmla은 그렇게까지 떨어지지 않고, (B-7)을 보면 알 수 있듯 오히려 스칼라보다 고속으로 실행되었습니다.

// iPad Air 2 (Apple A8X)
배정밀도연산
                             실행시간 연산수   연산수
---------------------------------------------------------------
VFP fmul (64bit x1) n8      :  1.442   2773.8   2773.8
VFP fadd (64bit x1) n8      :  0.926   4321.2   4321.2
VFP fmadd (64bit x1) n8     :  1.772   4513.6   4513.6 --- (A-8)
NEON fmul.2d (64bit x2) n8  :  1.408   5681.0   5681.0
NEON fadd.2d (64bit x2) n8  :  0.922   8680.2   8680.2
NEON fmla.2d (64bit x2) n8  :  1.744   9175.5   9175.5 --- (B-8)

↑ Apple A8X에서는 스칼라의 배정밀도 덧곱셈(A-8)도 NEON(B-8)과 같은 속도로 실행되고 있어, Apple A7의 약점이 극복되어있음을 알 수 있습니다.

아래 페이지의 표에 이 연산능력의 차이를 정리했습니다.

관련 글

  1. 실수 두 값을 곱한 후 그 결과를 목표값에 더하는 연산(fd += fn * fm)의 의역 [본문으로]

+ Recent posts