[閒聊] Apple M1 Max 測試

作者: SkyPlus (Sky)   2021-11-23 09:53:37
原文: https://tlkh.dev/benchmarking-the-apple-m1-max
HN 討論:https://news.ycombinator.com/item?id=29310509
這篇文章挑了一些測試項目,
推測 M1 Max 在 100W 功耗有如此表現的原因。
他的結論是贏在記憶體頻寬夠大, 有10核心,
以及各種 co-processor (AMX, ANE, ...)幫忙 offload。
CPU<->MEM 100GB/s (單 thread), 200GB/s (多 thread), 對比 5600x 約 40GB/s
GPU<->MEM 大約 200~300GB/s,最高 330GB/s
CPU+GPU<->MEM 因為兩個共用記憶體,競爭後總和最高 360GB/s
Zero-Copy: 理論上因為共用記憶體,GPU, CPU 分享資料應該很快
但是 TensorFlow Zero-copy Memory Access
卻和需要走 PCIE 的 5600X+3090 在同一數量級,可能M1在這部分沒做到硬體加速。
M1 Max 5600X+3090
CPU->GPU 48 30
GPU->CPU 19 19
因此可以看出在 memory-bound 工作+硬體加速有支援時,M1 Max 速度就很驚人
例如 NumPy 用上 GEMM 的工作就贏 5600x 一票
但是 SVD, VecMul, eigendecomp 這些就只是不相上下
5600x 在 HTTP server 這種無法加速的也領先
另外 M1 Max 靠著核心多的優勢,在 Pandas 某些項目領先。
TensorFlow GPU 的話效能只有 3090x 1/8,不過耗電也差不多 1/8
所以每瓦效能差不多。但是 M1 max 等於是有巨大記憶體的顯示卡:
https://news.ycombinator.com/item?id=29311522
因此在需要算大量資料時還是有他的優勢 (例如 4k/8k 影片轉檔?)
以及一些 TensorFlow 工作也可以交給 ANE 去算
ANE只耗費 2-4w, 但可以做到 GPU 60% 左右的效能

Links booklink

Contact Us: admin [ a t ] ucptt.com