請教一個關于CST在SERVER 2008上仿真時無法調(diào)用所用CPU資源的事情
各位大俠,有個問題請教一下,具體問題如下:
CST仿真可以同時利用服務器的多個CPU進行并行運算,達到加速的目的,設置的地方在Transient Solver的Acceleration選項卡中的第一項,多少個threads就表示利用多少核,如我之前的服務器是兩個6核的CPU,設置為12個threads,可以在仿真結果看到“Number of threads used: 12 ”,表示本次仿真調(diào)用了12核的資源。
目前的問題是:
新服務器裝了SERVER 2008 R2 Enterprise SP1的操作系統(tǒng),4個10核的CPU,共40核,仿真時將CPU加速設置為32個threads(CST 2011最大支持32),但是仿真僅僅調(diào)用了10個threads,另外3個CPU的資源根本沒有用上。跑另外一個CST自帶的算例時又是有時候可以調(diào)用10核,有時候可以調(diào)用30核,見鬼了
而相同的工程在原來服務器(XP操作系統(tǒng))上跑就可以調(diào)用所有的CPU資源(2個CPU,12侅)
不知道是什么原因?是不是操作系統(tǒng)需要安裝什么功能或服務?
自己頂一下,求高手
個人經(jīng)驗可能是這樣的情況:
前提,CPU不是10個物理內(nèi)核,而是10個線程,可能是6核心或者4核心,采用超線程的。超線程本意是指一個物理核心可以同時執(zhí)行多個任務。這里假設你有40個線程,卻只有10個物理核心。(如果不滿足此條件,就不是我說的這個問題)
按上述假設,你在進行一個計算任務時,你的所有物理核心會被全部調(diào)用,也就是說我假設的10個物理核心全部使用到,這時候,真是的CPU已經(jīng)100%滿載運行。但是,你看到的使用到的threads只有10個,CPU利用率顯示只有25%。 此時,如果你再打開一個計算,兩個任務同時運行,CPU會顯示出100%運行,就是說40個threads全部調(diào)用,但實際上是兩個任務平分所有的資源。所以,對于科學計算來講,個人覺得超線程是完全沒有必要的,有時候甚至會使得工作效率更低。
如果你的CPU是10物理核心10線程的,那么我也不知道是怎么回事了。
是不是軟件對10核的Intel Xeon E7 系列CPU的支持還不是很好?
可以問問CST的技術支持看看
多謝回復,但我的情況可能和你假設的不一樣。
CPU 是E7 4850,是物理10核,從藍屏信息上看,支持20個線程,4個CPU就是支持80個線程。
另外:
現(xiàn)在發(fā)現(xiàn)有些工程可以使用到30個線程,而且該工程必須是在這臺服務器上建的才行。如果在另外一臺XP系統(tǒng)的服務器上建相同的工程,拷貝過來的話,又只能調(diào)用10個線程,暈得我死去少來啊
但是唯獨我現(xiàn)在要跑的這個比較大一些的工程,無論是在這臺服務器上建的還是在其它服務器上建好后拷貝過來的,都只能調(diào)用10個線程