如何測試工作站來確定限制CFD計算速度的短板?

時間 2021-05-09 20:34:31

1樓:李龍翔

各位大佬不必硬答。。。像CFD這種模板計算程式,90%都是記憶體頻寬瓶頸。

問題中標明是工作站,那麼可以認為只考慮單節點伺服器,不存在節點間通訊過程。對於單節點,一般只有三個地方存在瓶頸:CPU、記憶體頻寬、IO頻寬。

對於CFD模擬,IO過程可以根據使用情況進行調節,並且除非進行IO測試,其他測試一般也不包括IO過程,所以一般也不會成為主要瓶頸。

那麼剩下只有兩個方面,CPU和記憶體頻寬。CPU指的是資料處理速度,對於CFD來說就是浮點計算速度,而記憶體頻寬代表了資料讀寫速度,也就是資料傳入CPU速度的快慢。對於CPU和記憶體通道瓶頸判斷,Williams Samuel等[1]提出了乙個非常簡單的模型roofline。

roofline縱軸單位為浮點計算強度,橫軸單位為Flop/Byte,稱為算術強度(Arithmetic intensity, AI),代表每byte資料支援的浮點計算。不同演算法對應的AI代表不同,AI越大代表演算法需要資料流量越小,而需要浮點計算越大。對於CFD來說,因為常用稀疏矩陣計算,因此AI比較低,一般為0.

1左右。對於乙個節點來說,由於CPU最大頻率有限,存在高上限,在roofline中為一條與x軸平行的橫線。當AI特別小時,此時記憶體頻寬成為瓶頸,因此最大浮點計算速度此時呈一條斜率固定的斜線。

綜合下來,單個節點的roofline影象如下:

Roofline

上面這個roofline實際是和平台相關的,記錄了當前平台硬體裝置下乙個典型特徵。那麼如何判斷執行程式時主要效能瓶頸?這裡推薦Intel的工具Advisor。

advisor可以對程式內每個函式資料讀取量(Byte)和浮點計算次數(Flop)進行分析,然後將其繪製在roofline影象上。假如大部分函式位於斜線上,那麼明顯就是記憶體頻寬瓶頸,而位於頂部橫線上才是CPU浮點計算瓶頸。

Intel advisor Roofline分析結果

關於advisor使用這裡就不贅述了,網上已經有很多資料,以上。

2樓:汪洋

CFD計算中,大部分軟體都優化了矩陣的儲存。一般用稀疏矩陣儲存。記憶體用量不大,可以理解為你的網格量不是特別大。主要效能瓶頸是CPU的計算效能導致的。

第二個問題也是我們常見的並行性加速比問題。就是無論你怎麼增加核心,並行效率並沒有顯著提公升。因為問題不是特別大,如果你核心增加上去了,每個核心之間的通訊開銷導致了你通過增加核心數來提公升效能的願望破滅。

第三個問題其實沒啥太多測試的必要。跑一些經典的測試算例就可以了。

如何看待錘子科技的TNT工作站?

chi 抱著不吹不黑的和拋開羅永浩為人方面的態度來說,不管是軟體開發還是硬體成本,都不值這個價錢,當然,你不要忘了TNT工作站不僅僅是一台顯示器,你還要把手機算進去。其中所謂創意和功能,說實話或多或少在市面上都會找到類似的。為什麼現在被大多數人吐槽,基本上的槽點也無非就是沒有羅永浩說的那麼好而已。然...

如何評價錘子電腦 堅果TNT工作站(Smartisan TNT Station)?

很多答案連 TNT 的基礎定義都沒弄懂就再強答,真的挺逗的。就比如這個 少謙 吧,他說 選中一段文字,說 綠色 emmm.然後感覺不夠綠啊,再綠一點 不夠綠,再加點綠!吃乙個金嗓子,綠,再綠,繼續!還不夠,綠,加一點 他沒理解TNT是手勢加語音,他這個邏輯是全語音的操作邏輯。TNT正確的操作方式是 ...

工作站電腦玩遊戲效能如何?

ku洛洛 其實工作站和遊戲機的差異也沒有那麼玄乎,在硬體規格上算是父子集關係。專業工作站的特點是多核心cpu 也有使用民用級core i3 i7之類的 主要在於顯示卡是專業作圖卡。先說cpu,其實不難發現以目前的技術,很難達到多核心與高主頻兼得的cpu,因為專業作圖對cpu單核效能要求不高,更加依賴...