Ubuntu集群跨节点并行问题
- 
							
							
							
							
前几天在一台机子上弄好了并行计算,想把算例弄到集群上跑一跑,上午折腾了一下,三台电脑已经通过网线建立了小集群,OF也在各个电脑上安装好了,那么问题来了,在mpirun 跨节点并行的时候,就出现了这个问题 
  
 PS:各个节点都是相同的username 即Ubuntu,各个主机名分别是zwk,node1,node2,它们之间可以无密码登录,我的算例文件是在共享的文件系统中(用nfs搞的)。
 parallelDict如下zwk cpu=8 node1 cpu=8 node2 cpu=8我在各个节点上which了rhoPimpleFoam,它们也都在各自相同的路径下: /home/Ubuntu/OpenFOAM/OpenFOAM-3.0.1/platforms/linux644GccDPInt32Opt/bin/rhoPimpleFoam不清楚为什么找不到这个execuable。。。。 
- 
							
							
							
							
@Aeronastro 你试下在每个node的~/.bashrc添加 source ~/OpenFOAM/OpenFOAM-2.4.0/etc/bashrc ....., 感觉是mpirun的时候,在每个node上of240还没加载。
- 
							
							
							
							
							
							
@lhzhu 我在每个节点上都添加了这个环境变量的source,每个.bashrc中有这样一段: #If not running interactively, don't do anything case $- in *i*) ; ; *) return ;; esac我把这几句注释掉 #If not running interactively, don't do anything #case $- in # *i*) ; ; # *) return ;; #esac之后是可以读各个节点的processor了,但是还是不能运行 
  在运行第一步的时候就崩了,这个不清楚是什么原因。 
 PS:这个算例是OF标准算例,rhoPimpleFoam/les/pitzDaily,单节点运行没问题。
- 
							
							
							
							
你的三台电脑通过什么网线连接的?网卡是什么级别? 
- 
							
							
							
							
							
							
@cfd-china 就是普通的网线,水晶头的那种,都连到普通交换机上,网卡什么级别我不太清楚,他们的型号都一样 
- 
							
							
							
							
计算的时候Execution time和CPU Time差的多么‘? 
- 
							
							
							
							
@Aeronastro 你可以配置NIS服务,共享Linux账户信息,home分区用NFS挂载。 
- 
							
							
							
							
PS:一直不清楚为什么在.bashrc里的那4句注释掉就可以,之前从来没有对这4句太在意,而是直接添加OF的环境变量就好了。。。 这里解释了为什么:http://www.evernote.com/l/AYvYUlXKzfxBIZ5sJbyk-cREUR1SGcAPIto/ 
- 
							
							
							
							
我现在是在一台电脑上 进行并行运算,使用的openmpi,测试时,使用hello.c时只能调用两个(我是双核四线程,提示说可以使用线程那个use-hwthread-cpus这个选项,但不知道怎么用),,然后在算例中并行时,也出现无可执行文见 mpirun was unable to find the specified executable file, and therefore did not launch the job. This error was first reported for process rank 0; it may have occurred for other processes as well. NOTE: A common cause for this error is misspelling a mpirun command line parameter option (remember that mpirun interprets the first unrecognized command line token as the executable).
- 
							
							
							
							
Mark一下,解决烦恼 我在每个节点上都添加了这个环境变量的source,每个.bashrc中有这样一段: #If not running interactively, don't do anything case $- in *i*) ; ; *) return ;; esac我把这几句注释掉 #If not running interactively, don't do anything #case $- in # *i*) ; ; # *) return ;; #esac之后是可以读各个节点的processor了,但是还是不能运行 
  在运行第一步的时候就崩了,这个不清楚是什么原因。 
 PS:这个算例是OF标准算例,rhoPimpleFoam/les/pitzDaily,单节点运行没问题。
 
			
