[測試]3700xRadeonVII9900K2080Ti實驗室深度學習

作者: fo40225   2020-05-08 18:57:15
重要的事先說在前
別真的買AMD顯卡來跑DL
使用Radeon VII跑tensorflow與pytorch純粹測試
購買Radeon VII的正確理由應該是
有OpenCL的程式要執行
且需要雙精度算力
而不需要ECC
又買不起計算卡(P100 V100)
這時才考慮收一張Radeon VII來應付
===
做實驗要有對照 因此使用同為8C16T的9900K作為3700X的對手
但不是專業評測媒體 沒有很多備品與時間 很難做到完全公平測試
只能盡量說明細節 讀者可自行判斷結果
測試目標是在盡量預設(官方Turbo)的條件下
用一些比較簡單的小程式
嘗試反應跑運算的能力(ML DL)
所有結果僅供參考
在windows上也能跑出類似的數據
有相同配備的人可以試著重現實驗結果
===
測試硬體
AMD Ryzen 7 3700X
Wraith Prism (H mode)
ASUS TUF GAMING X570-PLUS
4x Kingston KVR32N22D8/16
HIS Radeon VII
XPG SX8200Pro 1TB
全漢 聖武士 650W
視博通 聖鬥神 PRO
Intel Core i9-9900K
Thermalright Silver Arrow IB-E Extreme
GIGABYTE Z390 AORUS ELITE
4x KLEVV KD4AGU88C-26N190A
GIGABYTE RTX 2080 Ti Turbo
XPG SX8200Pro 1TB
全漢 聖武士 650W
全漢 CMT240(B) 炫鬥士 (黑)
另外加測同一張2080ti插到3700x那台上
===
BIOS版本與設定
TUF GAMING X570 PLUS 1405
PBO manual
Package Power Tracking(PPT) 1000W
Thermal Design Current(TDC) 1000A
Electrical Design Current(EDC) 1000A
其餘預設
DDR4-3200 (22-22-22) 1.2V
Z390 AORUS ELITE F8
Package Power Limit 1 4090W
Package Power Limit Time 1 127s
Package Power Limit 2 4090W
Package Power Limit Time 2 127s
Platform Power Limit 1 4090W
Platform Power Limit Time 1 127s
Platform Power Limit 2 4090W
Power Limit 3 4090W
Power Limit 3 Time 127s
Core Current Limit 255A
其餘預設
DDR4-2666 (19-19-19) 1.2V
(早期的科賦原生記憶體是有xmp的
開了時序會收緊
但這批比較後期 xmp profile時序是一樣的
開xmp就只是電壓變1.35V CPU更耗電)
另外使用
nvidia-smi -pm 1
nvidia-smi -pl 280
解除2080ti到280W
OS
Ubuntu Server 20.04 LTS kernel 5.4.0-26
ROCm driver 5.4.8
CUDA driver 440.64
頻率溫度功耗
數字皆為約略
詳細可看錄影
3700x
sensors讀取溫度
turbostat讀取頻率瓦數
Radeon VII
rocm-smi讀取溫度頻率瓦數
9900k
turbostat讀取溫度頻率瓦數
2080ti
nvidia-smi讀取溫度頻率瓦數
待機
3700x+Radeon VII
CPU 2100MHz 36度C 13W
GPU 808MHz 36度C 18W
延長線 52W
3700x+2080ti
CPU 2100MHz 36度C 13W
GPU 300MHz 31度C 6W
延長線 46W
9900k+2080ti
CPU 800MHz 28度C 8W
GPU 300MHz 29度C 5W
延長線 38W
Prime95 Version 29.8 build 6
Small FFTs(L1/L2/L3) FMA3(AVX2)
3700x
1秒
CPU 3978MHz 81.5度C 143W
延長線 210W
1分鐘
CPU 3911MHz 87.1度C 133W
延長線 197W
https://youtu.be/FsxKta8cYQs
9900k
1秒
CPU 4700MHz 87度C 222W
延長線 314W
1分鐘
CPU 4532MHz 100度C 216W
延長線 290W
https://youtu.be/1SJ_f3upgEc
(linux的行為與windows不同
使用sudo service thermald stop
避免一撞溫度牆就降到base)
(實驗室5顆9900k
1顆在ASUS PRIME Z390-A上解除電流限制(192A)會自動關機
估計是VRM不夠力
另外4顆在GIGABYTE Z390 AORUS ELITE上
有1顆預設電壓較低 可90度上下全核4.7
其他3顆都只能100度全核4.5
也無法降電壓 就算只-0.05V p95一樣無法過
只能說是體質問題
下面的效能測試是全核4.5GHz這粒CPU的結果)
tensorflow resnet50 training fp16 batch128
3700x+Radeon VII
1分鐘
GPU 1801MHz 105度C 273W
延長線 381W
https://youtu.be/xBZvnZ0Gtk0
3700x+2080ti
1秒
GPU 1905MHz 40度C 254W
延長線 351W
1分鐘
GPU 1845MHz 70度C 273W
延長線 366W
https://youtu.be/7dURoFo-TyY
9900k+2080ti
1秒
GPU 1920MHz 39度C 254W
延長線 358W
1分鐘
GPU 1830MHz 69度C 279W
延長線 336W
https://youtu.be/y3jh_HDrJ-g
(真正跑數小時到數天的運算
基本上是穩定1545MHz 84度C)
p95+tensorflow
3700x+Radeon VII
CPU 125W
GPU 302W
延長線 505W
https://youtu.be/vXGoWQZyf5M
3700x+2080ti
CPU 129W
GPU 279W
延長線 490W
https://youtu.be/EjuvHMI8pQE
9900k+2080ti
CPU 228W
GPU 270W
延長線 618W
https://youtu.be/eVz76K0rsdE
由於現在CPU GPU都有boost 跑出來結果會飄
大概前幾位數比較一下趨勢就好 沒有重複很多次或固定溫度
不要太認真比較小數點後幾位
CPU理論效能測試
使用https://github.com/Mysticial/Flops 86d412c
(這結果會與AIDA64 GPGPU效能測試中的CPU結果相似)
version3/binaries-linux下
./2006-Core2 //使用SSE2 模擬 一般/普通/傳統/上古遺跡 應用程式
./2013-Haswell //使用AVX/FMA3 模擬 高度最佳化的現代應用程式
(3700x執行./2017-Zen不會有明顯差別)
| 128-bit SSE2 | 256-bit AVX | 256-bit FMA3
| Multiply + Add | Multiply + Add | Fused Multiply Add
| 1T | 16T | 1T | 16T | 1T | 16T
3700x | 42.432 | 521.184 | 82.176 | 992.256 | 136.896 | 1044.1
9900k | 39.072 | 301.008 | 79.968 | 602.016 | 159.552 | 1204.22
單位: GFlops
以上是單精度
zen2已經解決zen1 256bit浮點半速問題
zen2與skylake的架構分析文 網路上很多
兩家的解碼執行策略不同 導致這個結果
CPU計算效能測試
使用intel的測試script
基本反應numpy scipy sklearn效能
同時也可以知道像MATLAB與其他用到BLAS、LAPACK的程式會是什麼狀況
python使用Anaconda3-2020.02 內建numpy使用Intel MKL
另外比較numpy使用conda提供的OpenBLAS pip的OpenBLAS
與自編譯BLIS+libFLAME有沒有機會贏MKL
===
###主程式
git clone
作者: windrain0317 (你在大聲啥)   2020-05-08 19:13:00
推詳細測試

Links booklink

Contact Us: admin [ a t ] ucptt.com