注意编译过程中需要海量的内存(>=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) |