使用OpenFOAM进行并行运算
(2013-09-25 15:36:55)
OpenFOAM的官网上详细介绍说明了并行运算过程,具体可见http://www.openfoam.org/docs/user/running-applications-parallel.php。这里不再重复。
在实际运行时,首先我们需要编辑machines文件。包含远程服务器中各个节点的名称与cpu的个数。
确定某个节点cpu的个数,可以使用如下命令:
cat /proc/cpuinfo | grep "processor" | wc -l
(具体介绍见http://smilejay.com/2011/03/linux_cpu_core_thread/)
然后,可以使用top命令确定当前节点中有几个进程。如果空闲的cpu不多,建议使用另外一个节点。
另外,在具体操作中,我们常常使用执行文件Allrun包含所有的执行命令。在Allrun中,并行运算的命令为
runParallel $application 8 machines
其中,runParallel在$WM_PROJECT_DIR/bin/tools/RunFunctions文件中定义。可以修改该定义,并重新编译OpenFOAM。
也可以直接使用mpirun命令:
mpirun --hostfile machines -np 8 $application -parallel >
log.$application
&
其中,$application为某求解器的名称。
喜欢
0
赠金笔
加载中,请稍候......