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

ARM Cortex-A53의 부동소수점 연산속도와 컴파일 시간 비교

(원문 : ARM Cortex-A53 の浮動小数点演算速度とコンパイル時間の比較)

Qualcomm의 DragonBoard 410c를 입수하였기에 vfpbench를 돌려보았습니다.

Snapdargon 410 Cortex-A53 1.2GHz quad core
OSarchSP-STDP-STSP-MTDP-MT
Android 5.1AArch649.3774.73730.81715.063
Android 5.1AArch329.4422.55829.2907.753
  • 단위는 GFLOPS, 수치가 높을수록 고속
  • SP=single fp, DP=double fp, ST=single thread, MT=multi thread

Cortex-A53는 big.LITTE의 LITTLE에 사용되는 코어로, Cortex-A7와 마찬가지로 in-order의 파이프라인을 갖고 있습니다. 하지만 부동소수점 연산의 최고속도는 예상 이상으로 높은 결과를 냈습니다.

위 결과가 사실이라면 Cortex-A7 대비 VFP에서 2배, NEON single에서는 최대 4배 빠르다는 것이 됩니다. 또 동일 클럭 및 최대치만으로 한정하면 big 코어에도 견줄 수 있습니다. 그러나 in-order에 동작 클럭도 낮기 때문에 실제 코드에서는 big 코어와는 상당한 차이가 생길 것이라 생각됩니다. 배정밀도 연산의 병렬성도 떨어지는 것 같습니다.

CPU corearchSP-STDP-STSP-MTDP-MTSoCclock
Cortex-A7armv7a2.3741.1659.4744.653MT81251.2GHz x4
Cortex-A53arm649.3774.73730.81715.063APQ80161.2GHz x4
Cortex-A53armv7a9.4422.55829.2907.753APQ80161.2GHz x4
Cortex-A72arm6415.8647.93431.77115.885MT8173C2.0GHz x2
Cortex-A72armv7a15.8757.94631.75615.882MT8173C2.0GHz x2
Cyclone 2arm6423.56811.75168.59133.968AppleA8X1.5GHz x3
Denverarm6417.9068.76234.88817.601TegraK12.3GHz x2

Linux 상에서 컴파일 속도도 측정해보았습니다. RAM이 적기는 하지만 충분한 속도가 나옵니다. 클럭 차이를 생각해도 데스크탑 CPU와의 차이가 적어지고 있다는 것을 잘 알 수 있습니다.

CPUcoreclockC/TCompilerRAMsec
Core i7-4790KHaswell4.0GHz4C8TClang-3.616GB15
Celeron J1900Silvermont2.0GHz4C4TClang-3.48GB79
Athlon 5350Jaguar2.0GHz4C4TClang-3.68GB88
Celeron 2955UHaswell1.4GHz2C2TClang-3.44GB93
Celeron N3150Airmont1.6GHz4C4TClang-3.616GB108
DragonBoard 410cCortex-A531.2GHz4C4TClang-3.51GB186
Raspberry Pi 2Cortex-A70.9GHz4C4TClang-3.51GB402
Atom Z540Bonnell1.8GHz1C2TClang-3.42GB426
Raspberry PiARM11760.7GHz1C1TClang-3.50.5GB1893
NetwalkerCortex-A80.8GHz1C1TGCC-4.70.5GB1902
* sec = 컴파일 시간(초), 수치가 낮을수록 고속
* Dragonboard 401c = Debian 8.0

RAM이 적은 디바이스는 스토리지 속도의 영향의 크다는 점에 주의하시기 바랍니다. 특히 Raspberry Pi 계열은 SD 카드에 의존하므로 참고만 하시기 바랍니다.

아래 페이지를 갱신했습니다.

관련 글

+ Recent posts