当前位置: > CentOS > CentOS教程 >

CentOS 7.8下安装完美安装配置Rosetta

时间:2020-06-17 11:15来源:linux.it.net.cn 作者:IT
注意编译过程中需要海量的内存(>=64GB for -j 24)。

硬件环境
CPU: 50 cores

内存: 80GB

1. 安装依赖
yum install boost-devel libstdc++ zlib zlib-devel bzip2
 

2. 编译器的选择
使用GCC编译器
最新的Rosetta代码编译依赖完整的C++11特性,因此我们需要更新系统自带的gcc编译器。如果使用gcc-8.21, 完全可以编译通过Rosetta.

CentOS 7.8升级gcc-8.2

 

使用Clang编译器
版本Clang 3.4.2, 此外你需要额外编译clang版本的openmpi。clang3.4完全兼容C++11 regex。推荐使用!并且更加灵活和快速。

yum install epel-release
yum install clang clang-devel clang-analyzer
 

3.OpenMPI的编译与安装
GCC编译环境:
CentOS 7.8安装OpenMPI3.1.0

环境变量配置:

vim ~/.bash_profile

#OpenMPI
export PATH=$PATH:/usr/local/openmpi/bin
export LD_LIBRARY_PATH=/usr/local/openmpi/lib
source ~/.bash_profile      #立即生效 

编译安装OpenMPI3.1.0

tar -zxvf openmpi-3.1.0.tar.gz
cd openmpi-3.1.0/
./configure --prefix=/usr/local/openmpi
make -j 48
make install
 

Clang编译环境:
环境变量配置:

vim ~/.bash_profile

export PATH=$PATH:/usr/local/openmpi_clang/bin
source ~/.bash_profile      #立即生效 

基于clang编译安装OpenMPI3.1.0

#自行编译的方法:clang.并创建软连接。
tar -zxvf openmpi-3.1.0.tar.gz
cd openmpi-3.1.0/
./configure CC=clang CXX=clang++ --prefix=/usr/local/openmpi_clang
make -j 48
make install
ln -s /usr/local/openmpi_clang/bin/mpirun /usr/local/bin/mpiclang
运行时应该使用mpiclang,而不是mpirun(gcc),避免影响其他gcc编译软件的并行。

 

4.Rosetta的编译与安装
环境变量配置:

vim ~/.bashrc      #打开.bashrc 

#Rosetta
export ROSETTA=/opt/rosetta2019
export ROSETTA3_DB=$ROSETTA/main/database
export ROSETTA_BIN=$ROSETTA/main/source/bin
export PATH=$PATH:$ROSETTA_BIN
export LD_LIBRARY_PATH=$ROSETTA/main/source/bin:$LD_LIBRARY_PATH
source ~/.bashrc      #立即生效 

编译多线程模式版本的Rosetta, 此处以调用48个核编译为例:

tar zxvf rosetta_src_2019.12.60667_bundle.tgz
mv rosetta_src_2019.12.60667_bundle.tgz rosetta2019
cd $ROSETTA/main/source/

# 使用gcc编译:
./scons.py -j 48 mode=release bin extras=mpi #gcc

# 使用clang编译:
./scons.py -j 48 mode=release bin extras=mpi cxx=clang
 

5. 测试运行
antibody.mpi.linuxgccrelease # gcc
antibody.mpi.linuxclangrelease # clang
 
参考资料
1. https://zhuanlan.zhihu.com/p/58384830

2. https://www.cnblogs.com/wq242424/p/5110301.html

 

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容