Ubuntu系统搭建SU2计算环境

SU2 logo
前不久由于教研室科研项目需要接触了SU2这个软件,在教研室服务器上配置环境也是踩了不少的坑,现在把配置SU2环境的过程记录一下,避免以后踩坑的同时也算作一个分享吧。

首先要说明,SU2计算环境分为单核多核并行两种(SU2官网称为Simple Build和Parallel Build)。对于Simple Build,仅需要安装SU2即可;如果想要加快计算速度,就需要用到Parallel Build,此时就需要额外安装一个支持并行计算的工具,MPI。但MPI并不是特定的一个软件,而是一套标准,它有多个实现的版本,就像Linux有Ubuntu,CentOS等等版本一样。

值得注意的一点,Parallel Build并不是在Simple Build基础上增加并行计算功能,所以,若系统中已有使用Simple Build安装的SU2,当后续需要并行计算功能时,应先将Simple Build安装的SU2删除,再进行Parallel Build安装,否则将出现虽然成功安装并行计算环境,并行也能运行,但并行计算比串行还慢的情况

准备工作一:下载SU2和MPI的源码

由于我的研究项目要用到并行计算的功能,所以还需要下载安装MPI,读者可以根据自己的需要选择是否安装MPI。

下载SU2

在SU2的官网下载SU2的最新版源码:
SU2官网首页
SU2下载页
下载页截图如下
SU2下载页
下拉可以看到官网提供了支持多种系统的多种格式SU2下载
SU2下载
这里选择下载源码编译安装,由于使用的是Ubuntu Linux系统,所以选择 .tar.gz 格式下载。

下载OpenMPI

前面提到过MPI有多个版本的实现,这里我选择的是OpenMPI
OpenMPI下载页
OpenMPI下载页
选择最新的4.0.2版本 .tar.gz 格式下载
下载好的两个文件如下
SU2及OpenMPI源码

准备工作二:安装系统依赖环境

在SU2和MPI源码的编译过程需要用到一些依赖工具,如m4,automake,autoconf等,所以要先对这些包进行安装

sudo apt install m4
sudo apt install automake
sudo apt install autoconf

以上依赖包安装完成后即可正式开始安装SU2

安装SU2之一:Simple Build

再次强调,Simple Build仅适用于安装单核计算环境,如果需要多核并行计算,参看后面的Parallel Build安装。

一定不要在安装好了Simple Build之后直接进行Parallel Build,否则将会出现如前所述的多核慢于单核的情况。

好了,来看如何进行SU2的安装
首先将下载的SU2源码放在一个你喜欢的路径下,我的就直接放在用户主目录的 Downloads 下面了

解压SU2源码,并进入解压后的目录

tar -zxvf SU2-6.2.0.tar.gz
cd SU2-6.2.0/

SU2源码目录结构如下:

依次执行

./bootstrap
./configure --prefix=/usr/local/SU2-6.2.0-install

第二条命令中的 --prefix 参数是我指定的SU2的安装目录,你也可以将其改为你自己希望将SU2安装到的目录,或者直接将 --prefix 省略。但是强烈建议加上此参数指定一个专门的安装路径,因为省略 --prefix 后系统会默认将其安装到 /usr/local/bin 路径下,当安装的软件多了之后这个目录会相当的混乱。

我在执行第二条 ./configure 命令的时候遇到如下的一个错误

谷歌前人经验,解决方法如下

pip install python-config    //如果没有安装pip那么要先 sudo apt install python-pip

解决后继续执行

./configure --prefix=/usr/local/SU2-6.2.0-install

命令执行完成后会在terminal中输出这样一段关于添加环境变量的信息

按照它的提示在 .bashrc 文件中添加上以上几行信息,注意将路径换成你自己的安装路径

vim ~/.bashrc
source ~/.bashrc    //使刚刚添加的环境变量生效

接下来执行

sudo make
sudo make install

如果你的CPU是多核的,那么你可以用下面这条命令替代以上两条,以加快编译速度

sudo make -j 4 install  //我的cpu是4核所以指定4,这里可以将4改为你的cpu核数

不清楚CPU是不是多核的可以这样查看系统CPU个数和每个CPU的核数:

cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l    //查看物理CPU个数
cat /proc/cpuinfo |grep "cores"|uniq    //查看每个CPU的物理核数

到此Simple Build完成

安装SU2之二:Parallel Build

Parallel Build:安装OpenMPI

由于在Parallel安装SU2的时候需要在命令中指定openMPI的安装路径,所以需要先安装openMPI再安装SU2

第一步,还是解压源码并进入源码目录

tar -zxvf openmpi-4.0.2.tar.gz
cd openmpi-4.0.2/

openMPI源码目录结构:

执行

./configure --prefix=/usr/local/openmpi-4.0.2-install
sudo make
sudo make install    //make和make install两条仍然可以用sudo make -j 4 install替代

在 .bashrc 文件中添加环境变量,注意将路径替换为你自己的安装路径

export PATH=$PATH:/usr/local/openmpi-4.0.2-install/bin
exprot LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openmpi-4.0.2-install/lib

保存 .bashrc 文件后执行 source ~/.bashrc 使环境变量生效
测试openMPI是否安装成功:
在这里插入图片描述
如上图,有正常的输出未报错即为安装成功。

Parallel Build:安装SU2

解压SU2源码,进入源码目录

tar -zxvf SU2-6.2.0.tar.gz
cd SU2-6.2.0/

执行

./bootstrap

下一步执行

./configure --prefix=/usr/local/SU2-6.2.0-install CXXFLAGS="-O3" --enable-mpi --with-cc=/usr/local/openmpi-4.0.2-install/bin/mpicc --with-cxx=/usr/local/openmpi-4.0.2-install/bin/mpicxx

这条命令非常长,建议复制到文本编辑器中,把路径改成你自己的路径,确认无误后再复制到terminal中执行,否则很容易因为敲错命令导致执行出错
接下来

sudo make
sudo make install    //make和make install两条仍然可以用sudo make -j 4 install替代

等待命令执行完毕,Parallel Build完成

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值