Ubuntu下OpenFOAM跨節(jié)點并行的配置

CFD工作者和愛好者經(jīng)常需要在多節(jié)點上進行并行計算,那么對應(yīng)OpenFOAM跨多個節(jié)點的并行計算需要配置哪些呢?這個配置過程較為復(fù)雜,小編通過實戰(zhàn)經(jīng)驗總結(jié)了配置過程,希望可以幫助到大家。具體的配置過程如下:

#1:創(chuàng)建用戶和of的環(huán)境變量

在主機和輔機上創(chuàng)建相同的用戶,并在該用戶下配置openFoam的環(huán)境變量,進行openFoam軟件安裝,openFoam環(huán)境配置需注意將openFoam的環(huán)境變量加到下圖中的位置或前面,否者在非交互性的ssh遠程命令執(zhí)行時不會配置openFoam的環(huán)境變量。

640.webp.jpg

#2:配置hosts和interfaces

在主機和輔機的機器上安裝sshserver和ssh client,然后進行網(wǎng)絡(luò)配置。

首先,獲取主機和輔機上的網(wǎng)址,如下圖所示。

640.webp (1).jpg

然后將主機上和輔機上的hostname和網(wǎng)址寫到每臺機器的/etc/hosts文件中,如下圖所示

640.webp (2).jpg

其后,修改/etc/network下的interfaces文件設(shè)置靜態(tài)ip,由:

640.webp (3).jpg

改為:

640.webp (4).jpg

然后執(zhí)行sudo /etc/init.d/networking restart命令

#3: 配置 免密登錄的ssh

執(zhí)行ssh-keygen –t rsassh-keygen–t dsa命令會在/home/用戶/.ssh目錄下生成一對公鑰(id_rsa.pub)和私鑰(id_rsa),然后執(zhí)行:

cp/home/用戶/.ssh/id_dsa.pub /home/用戶/.ssh/authorized_keys

將公鑰拷到authorized_keys。

其后將主機上的公鑰拷到各臺輔機上:

ssh-copy-id 用戶@openfoam1

有關(guān)ssh免密登錄的詳細配置可以參考 http://blog.csdn.net/longyinyushi/article/details/50984445

#4: 設(shè)置NFS文件共享

在有一個主機和多個輔機的時候,可以只在主機上裝OpenFoam和openMPI compilers,然后掛載到各輔機上,算例的執(zhí)行也可掛載到輔機上就避免了文件的復(fù)制。

要實現(xiàn)以上功能,首先得在主機上執(zhí)行:

sudoapt-get install nfs-kernel-server nfs-common命令

在輔機上執(zhí)行:

sudoapt-get install nfs-common

在輔機上創(chuàng)建OpenFoam文件夾,并將文件權(quán)限改為777

mkdir-p OpenFoam

chmod777 OpenFoam

在主機上也創(chuàng)建openFoam文件夾,并將文件權(quán)限改為777

mkdir-p OpenFoam

chmod777 OpenFoam

然后編輯主機/etc下的exports文件,在最后一行中加入:

/home/用戶/OpenFoam 輔機hostname(rw,sync,fsid=0,crossmnt,no_subtree_check)

其后,重啟nfs服務(wù)器,輸入命令:

sudo/etc/init.d/nfs-kernel-server restart

在各輔機上安裝掛載主機OpenFoam文件夾,輸入命令:

sudomount -t nfs openfoam2:/home/用戶/OpenFoam/home/用戶/OpenFoam

將所有的openFoam文件都拷到主機的OpenFoam文件夾下(應(yīng)該要改一下配置環(huán)境),

然后將修改OpenFoam文件夾的權(quán)限:

sudo-R chmod 777 OpenFoam

修改各輔機上的/etc下的fstab文件可以自動掛載主機上OpenFoam文件夾:

sudopico /etc/fstab

在最后一行中添加:

Openfoam2:/home/用戶/OpenFoam /home/用戶/OpenFoam nfs user, rw,auto 0 0

#5: 多節(jié)點openFoam并行計算


1、  首先網(wǎng)格文件生成

2、  執(zhí)行decomposePar命令,拆分網(wǎng)格

3、  編輯hostfile文件,其格式為:

openfoam1cpu=2
openfoam2 cpu=2

4、  執(zhí)行mpirun -np 4--hostfile machines interFoam –parallel命令

即可在不同機器上并行計算,等計算完成后,最后執(zhí)行reconstructPar命令重組網(wǎng)格。

并行中核數(shù)的占用情況是先將hostfile文件中的第一個機器的核數(shù)用完以后,再用第二臺機器的核數(shù)


內(nèi)容來自公眾號:EASYCAE云計算平臺

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

4
1