|
本帖最后由 abdoman 于 2022-9-16 13:47 编辑
近日需要学习激发态高阶的计算,正所谓理论与应用未动,软件安装先行。
废话不多说,安装选定在openmolcas;
1.软件下载,直接从gitlab 拉下来,当前最新 v22.06-85-g4b62d07
http://bbs.keinsci.com/thread-6618-1-1.html
2.1 安装系统介绍
- 系统 centos 7.6.1810
- 编译器 parallel_studio_xe_2017.8.066
- python3 3.7.6 (来自conda 4.13.0)
2.2 安装选择的库
2.2.1 hdf5-1.10.4 (系统已有)这个是个大坑,因为默认 --enable-CXX是no,导致后面NEVPT2编译无法通过,
而且 hdf5 不能安装并行版,因为ALPS不推荐。
CMake Warning at alps/CMakeLists.txt:49 (MESSAGE):
parallel(MPI) hdf5 is detected. We will compile but ALPS does not use
parallel HDF5. The standard version is preferred.
最后重新编译安装hdf5 才得以成功。
安装的参数:
./configure --prefix=/public/software/hdf5-1.10.4 --enable-cxx --enable-fortran --enable-shared --with-pic CC=icc FC=ifort CXX=icpc CFLAGS="-fPIC -O3 -xHost -ip -fno-alias -align" FCFLAGS="-fPIC -O3 -xHost -ip -fno-alias -align" CXXFLAGS="-fPIC -O3 -xHost -ip -fno-alias -align"
安装完成后,变量声明可追加到~/.bashrc 里面:
例如:
export HDF5_DIR=/public/software/hdf5-1.10.4
export PATH=/public/software/hdf5-1.10.4/bin:$PATH
export HDF5_LIBRARIES=/public/software/hdf5-1.10.4/lib:$HDF5_LIBRARIES
export HDF5_INCLUDE_DIRS=/public/software/hdf5-1.10.4/include:$DF5_INCLUDE_DIRS
安装参考:
https://community.intel.com/t5/I ... ompiler/m-p/1357014
2.2.2 Global Arrays
下载的是最新的ga-5.8.1,必须要scalapack,不然后面过不去。
./configure MPICXX=mpiicpc MPIF77=mpiifort MPICC=mpiicc --prefix=/public/software/ga-5.8.1 --enable-i8 --with-sockets --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm" --with-scalapack8="-L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_ilp64 -liomp5 -lpthread -lm" --enable-cxx -with-mpi
安装完成后,变量声明可追加到~/.bashrc 里面:
例如:
export GAROOT=/public/software/ga-5.8.1
export PATH=/public/software/ga-5.8.1/bin:$PATH
GA安装参考:
https://blog.csdn.net/jslove1997/article/details/116721572
https://zhuanlan.zhihu.com/p/926 ... urce=wechat_session
2.2.3 molcas 安装
首先conda activate ,切换到python3 的环境下,
然后export GA 和HDF5 的环境变量,(这里也有一个坑,我的conda 里面是有hdf5,所以要先切换到python3下,再source hdf5的环境变量)
按照说明书,mkdir build && cd build
cmake -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_C_COMPILER=icc -DGA=ON -DLINALG=MKL -DCMAKE_INSTALL_PREFIX=/public/software/OpenMolcas_v22.06 ../OpenMolcas
make -j8
进行到98%的时候,竟然出错。
In function `f2c_getarg_': farg.F:(.text+0x55): undefined reference to `_gfortran_getarg_i8
貌似是需要调用gfortran 的库文件,可能是由于我的ifort的原因,cmake竟然连gfortran的库都找不到。(应该是默认的lib64,为啥找不到?)
最后看了CMakeCache.txt里面有link的FLAGS可以设置,
删除当前CMakeCache.txt,
顺利编译完成,
然后 make install
2.2.4 DMRG 和NEVPT2 的支持
a. Boost 安装
Boost >= 1.56 is required for QCMaquis
当前版本为1.55,因此也安装boost-1.57
./configure MPICC=mpiicc CC=mpiicc F77=mpiifort MPIF77=mpiifort prefix=/public/software/ga-5.8.1 --with-mpi-pr --enable-i8 --with-blas CXX=mpiicpc MPICXX=mpiicpc
安装参考:
参考:https://cloud.tencent.com/developer/article/1794304
b. 离线安装DMRG和NEVPT2
DMRG好不容易编译好,但是
NEVPT2 对intel不太友好,还是放弃了。
转为gnu编译器,由于系统gcc-4.8.5,不太友好,编译DMRG的时候regex.h 有bug,https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61059
c. 离线安装DMRG和NEVPT2 GCC-7 编译
通过yum 安装scl,再安装gcc-7
首先下载阿里云的镜像yum源 。 wget -O /etc/yum.repos.d/CentOS-Base-aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo
安装yum install devtoolset-7-gcc* (7系gcc)
scl enable devtoolset-7 bash
cmake -DCMAKE_C_COMPILER=/opt/rh/devtoolset-7/root/usr/bin/cc -DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-7/root/usr/bin/c++ -DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-7/root/usr/bin/c++ -DCMAKE_C_COMPILER=/opt/rh/devtoolset-7/root/usr/bin/cc -DCMAKE_Fortran_COMPILER=/opt/rh/devtoolset-7/root/usr/bin/gfortran -DGA=ON -DLINALG=MKL -DCMAKE_INSTALL_PREFIX=/public/software/OpenMolcas_GNU -DNEVPT2=ON -DDMRG=ON -DOPENMP=ON ../OpenMolcas
make
make install
|
评分 Rate
-
查看全部评分 View all ratings
|