官方淘宝店 易迪拓培训 旧站入口
首页 > 仿真设计 > CST微波工作室 > 请教一个关于CST在SERVER 2008上仿真时无法调用所用CPU资源的事情。

请教一个关于CST在SERVER 2008上仿真时无法调用所用CPU资源的事情。

05-08
各位大侠,有个问题请教一下,具体问题如下:
CST仿真可以同时利用服务器的多个CPU进行并行运算,达到加速的目的,设置的地方在Transient Solver的Acceleration选项卡中的第一项,多少个threads就表示利用多少核,如我之前的服务器是两个6核的CPU,设置为12个threads,可以在仿真结果看到“Number of threads used:  12 ”,表示本次仿真调用了12核的资源。
目前的问题是:
新服务器装了SERVER 2008 R2 Enterprise SP1的操作系统,4个10核的CPU,共40核,仿真时将CPU加速设置为32个threads(CST 2011最大支持32),但是仿真仅仅调用了10个threads,另外3个CPU的资源根本没有用上。跑另外一个CST自带的算例时又是有时候可以调用10核,有时候可以调用30核,见鬼了
而相同的工程在原来服务器(XP操作系统)上跑就可以调用所有的CPU资源(2个CPU,12侅)
不知道是什么原因?是不是操作系统需要安装什么功能或服务?

自己顶一下,求高手

个人经验可能是这样的情况:
前提,CPU不是10个物理内核,而是10个线程,可能是6核心或者4核心,采用超线程的。超线程本意是指一个物理核心可以同时执行多个任务。这里假设你有40个线程,却只有10个物理核心。(如果不满足此条件,就不是我说的这个问题)
按上述假设,你在进行一个计算任务时,你的所有物理核心会被全部调用,也就是说我假设的10个物理核心全部使用到,这时候,真是的CPU已经100%满载运行。但是,你看到的使用到的threads只有10个,CPU利用率显示只有25%。 此时,如果你再打开一个计算,两个任务同时运行,CPU会显示出100%运行,就是说40个threads全部调用,但实际上是两个任务平分所有的资源。所以,对于科学计算来讲,个人觉得超线程是完全没有必要的,有时候甚至会使得工作效率更低。
如果你的CPU是10物理核心10线程的,那么我也不知道是怎么回事了。

是不是软件对10核的Intel Xeon E7 系列CPU的支持还不是很好?
可以问问CST的技术支持看看

多谢回复,但我的情况可能和你假设的不一样。
CPU 是E7 4850,是物理10核,从蓝屏信息上看,支持20个线程,4个CPU就是支持80个线程。
另外:
现在发现有些工程可以使用到30个线程,而且该工程必须是在这台服务器上建的才行。如果在另外一台XP系统的服务器上建相同的工程,拷贝过来的话,又只能调用10个线程,晕得我死去少来啊
但是唯独我现在要跑的这个比较大一些的工程,无论是在这台服务器上建的还是在其它服务器上建好后拷贝过来的,都只能调用10个线程

Top