請問pcie x16/x8以及sli/cfx對運算卡性能的影響?
運算卡(比方Tesla 或者--&>TitanX?)對於pcie的帶寬要求高嗎? 比方四路泰坦, 如果主板不支持四路x16會對運算卡的性能打折扣嗎, 還是說x8 or x4就足夠了? 另外, 對於運算卡是不是沒有SLI一說(圖片上沒看見SLI介面(眼拙?))? 謝謝!
這個問題確實有點小眾, 感謝 @另一隻襪子@劉楷傑 兩位的回答, SLI的問題解決了, 關於PCIE的通道數還沒有解決, 本著求人不如求己的精神(執念), 找了一些數據和文章供大家參考.
- CPU / 主板 和PCIE通道數
現在intel北橋都集成在cpu中, 所以原生PCIE通道的數目(native)是由CPU決定的. 主板可以根據需求對這些通道進行重新的組合(比方x16 = 1x16 或 1x8+1x8 或 1x8+1x4+1x4)以滿足多個pci的需要. 當然, 通道拆分後每個設備所擁有的通道數就少了, 在x16下工作的設備性能可能會打折扣.
還有一個解決辦法就是通過PCIE Switch (pcie擴充器/轉換器/橋 不要糾結名字 我真的不知道), 它的功能就是擴充通道數, 比方將一組x16擴充成兩組x16. (比方plx8747晶元, 16擴展32, 有5個介面(ports)一路用來連接cpu通道數是x16, 剩下最多輸出4路 16+16, 16+8+8 或 8+8+8+8), 如下圖PLX晶元的好處顯而易見, 但是16變32也不是沒有代價的, 擴充的成本就是性能的損失, 這個損失主要來自數據的延遲. PLX 官網上列舉了這一系列晶元的參數(見下圖)
這個延遲對性能有多大影響呢, 我在網上看到了兩種不同的說法. 一種是x16通過PLX變成x16+x16的性能要強於原生的x8+x8(見下圖, 原文Common PCI-Express Myths for GPU Computing Users)當然, 原文說的是nearly always, 說明這個情況不絕對, 有些情況(猜想: 程序/gpu間通信 等方面的不同)會造成兩種方式(原生8+8和擴展16+16)的性能表現差異. 另一種說法來自國外論壇, 大概意思是兩路擴展不如原生兩路 (16擴展16+16 &< 原生8+8), 四路擴展(8+8+8+8)強於四路原生(4+4+4+4), 原文找不到了, 這應該是某種特例情況, 不具有太大的參考價值, 除非有土豪可以驗證一下.以上是關於硬體原理的部分, 接下來說說程序和市面主板(華碩為例)方面的情況- 程序方面
遊戲方面不是很了解, 具體應該要看遊戲有沒有針對多顯卡優化之類的. 主要說說網上對於gpu計算方面的內容. 多顯卡參與計算的情況不光涉及到cpu和單個顯卡之間的通訊, 還可能涉及到gpu之間的數據交換. 如果是雙路主板還涉及到兩個cpu之間的通信.
(情況見下圖, 圖和原文Exploring the PCIe Bus Routes)- 市面主板的情況
我想組個工作站做深度學習, 在雙路x99和單路之間猶豫, 雖然現在沒錢上4路tesla或titan, 考慮到未來加卡和可能性, 更偏向於能滿足4路x16的主板. 主要看了2個型號 華碩Z10PE-D8 WS 和 X99-E WS. 後者有使用plx晶元(四路x16=64路 &> 單個2011cpu的40個通道), 前者沒有使用.(圖片來源華碩官網產品手冊PDF)
z10pe-d8, 使用1,3,5,7就是4路x16, 當然1,3 和5,7之間通信需要通過QPI, 可能會有性能損失.看x99-e-10g ws的說明(X99-E WS上面只畫了28lane-cpu的情況, 不然不可能達到4路x16), 使用了PLX晶元.
--------------------------------其實我現在也沒錢上四路titan或者tesla, 上了估計也用不了那麼強大的性能, 現階段最好的選擇應該是X99-M WS, 原生16+16+8 (見下圖)--------------------------------聲明:1, 有不嚴謹或者錯誤的地方歡迎指正, 請輕拍2, 圖侵刪3, 有信息來源未說明的地方請指出歡迎進一步討論
首先,同上,計算卡不能SLI/CF。
然後,
一般的主板在接入多塊拓展卡後,會自動減半帶寬;可以查閱主板說明書,在有關PCI-E的條目附近找到這些介面是如何分配的。舉個例子,在ASUS Z9PE-D8的7個PCI-E插槽中,Slot 1~4由CPU1管理,Slot 5~7由CPU2管理;其中,Slot 1 3 5 7是PCI-E Gen3 x16,Slot 2 4 6是PCI-E Gen3 x8;當Slot 1 3或2 4同時接入拓展卡時,兩張卡都只能以Gen3 x8的帶寬工作;但Slot 5 7同時接入拓展卡時就不會出現帶寬減半的情況。
但在實際使用中,直到GTX760(GK104),我都沒發現x8 x16對於顯卡性能的明顯影響。網上也有相關的測試,人為屏蔽掉拓展卡的部分金手指,分別測試x16 x8 x4 x1四種情況並對比:
http://m.zol.com.cn/article/4516149.html你可以根據計算卡的性能合理配置數量,如有條件可以通過更換EEB等更大板型主板的方法獲得更多PCI-E 插槽,以獲得更好的整機性能。
最後,建議你諮詢經銷商,他們更有經驗。
------補充:
SuperMicro X9SRA的第一個PCI-E插槽是x8規格的,但能插上x16的卡;用影馳的GTX1060,跑新3D Mark的Fire Strike,最後得分跟網上其他人的相差無幾。計算卡不需要SLI/CF
推薦閱讀:
※有哪些好用的開源並行線性矩陣求解器?
※為什麼伺服器linux下用openmp結果比單線程還要慢?
※哪些因素限制了ANSYS Fluent的並行核數?
※關於並行計算(單CPU多核並行,單節點多CPU並行,多節點並行)的效率快慢問題?
※Xeon E5 2xxx 核心數/價格 的問題?