|
|||||||
Cfour compiling
Время создания: 22.09.2012 22:14
Раздел: Development
Запись: xintrea/mytetra_db_rarrugas/master/base/1348344896jcj0yrb0je/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
General: --------------------------------------------------------------------------------------------- lp64 -- 4 bytes integer ilp64 -- 8 bytes integer For cfour v1 and gfortran v 4.7 it is important to fix moldenorb.f (add BACKSPACE): --- moldenorb.f 2013-02-18 19:46:43.000000000 +0100 +++ moldenorbnew.f 2013-12-31 19:15:46.295598830 +0100 @@ -16,6 +16,7 @@ IF(ISPIN.EQ.1.AND.STRING.EQ.'[MO]')GOTO 998 GOTO 1 999 continue + BACKSPACE(40) IF(ISPIN.EQ.1)WRITE(40,9000) 9000 FORMAT('[MO]') 998 CONTINUE --------------------------------------------------------------------------------------------- For YuStation: --------------------------------------------------------------------------------------------- parallel with MPICH2/3: MKLPATH=/opt/intel/mkl/lib/intel64 FC=ifort CC=icc MPICH_F90=ifort MPIFC=mpif90.mpich ./configure --with-blas="$MKLPATH/libmkl_solver_ilp64.a -Wl,--start-group $MKLPATH/libmkl_intel_ilp64.a $MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -openmp -lpthread" --prefix=/opt/cfour_mpich --enable-mpi=mpich --with-mpirun="mpirun.mpich -np \$CFOUR_NUM_CORES" --with-exenodes="mpirun.mpich -np \$CFOUR_NUM_CORES" export MPICH_F90=ifort fix make.config to be sure that full paths to mkl libs exist. make make install serial: MKLPATH=/opt/intel/mkl/lib/intel64 FC=ifort CC=icc ./configure --with-blas="$MKLPATH/libmkl_solver_ilp64.a -Wl,--start-group $MKLPATH/libmkl_intel_ilp64.a $MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -openmp" --prefix=/opt/Cfour/cfour_v1_serial --------------------------------------------------------------------------------------------- For acs: --------------------------------------------------------------------------------------------- MPICH2 (warning: does not work with version 1.2 due to problems in mpirun): MPIFC=mpif90.mpich2 ./configure --with-blas="-Wl,--start-group /software/acml4.4.0/gfortran64/lib/libacml.a /software/acml4.4.0/gfortran64/lib/libacml_mv.a -Wl,--end-group" --prefix=/software/Cfour/cfour_v1_mpich2 --enable-mpi=mpich --with-mpirun="mpirun.mpich2 -np \$CFOUR_NUM_CORES" --with-exenodes="mpirun.mpich2 -np \$CFOUR_NUM_CORES" --------------------------------------------------------------------------------------------- For cheops: ------------------------------------------------------------------------------------------------------------- Cfour v1 with OpenMPI: Thread-safe version (mt) of OpenMPI must be used! WARNING! Incorrect results have been obtained with OpenMPI-parallelized version of Cfour v1!!! Load MKL ilp64 module Load an appropriate MPI module, for example module load openmpi/1.6.5_mt FC=ifort CC=icc MPIF90=mpif90 MPIFC=mpif90 ./configure --with-blas="-Wl,--start-group libmkl_intel_ilp64.a libmkl_intel_thread.a libmkl_core.a -Wl,--end-group -openmp" --prefix=/home/yvishnev/Apps/Cfour/cfour_v1_openmpi_mt --enable-mpi=openmpi --with-mpirun="srun -n \$CFOUR_NUM_CORES" Fix make.config to be sure that full paths to mkl libs exist. The path can be taken from MKLLIB var, which can be checked by 'export -p'. Remove first '-l' from '-l-Wl,--start-group'. make make install Cfour2.00beta with IntelMPI: Warning with IntelMPI! Normally compiled binaries are not working, since they are linked with ilp64 version of IntelMPI which is bad for Cfour, because it uses integer(4) everywhere for MPI communacation. module load mkl/11.3_ilp64 (or other version) module load intelmpi/5.1.2_mt (or other version) FC=mpiifort CC=mpiicc ./configure --with-blas="-Wl,--start-group libmkl_intel_ilp64.a libmkl_intel_thread.a libmkl_core.a -Wl,--end-group -openmp" --prefix=/home/yvishnev/Apps/Cfour/cfour_v200beta_intelmpi512mt --enable-mpi=mpich --with-mpirun="srun -n \$CFOUR_NUM_CORES" Now edit make.config 1). Add the -no_ilp64 option to fcflags, fldflags, cflags, cldflags, cxxflags, cxxldflags 2). Remove -lblashc and -llapackhc from BLAS_LIBS and LAPACK_LIBS and instead add to BLAS_LIBS -Wl,--start-group $(MKLLIB)/libmkl_intel_ilp64.a $(MKLLIB)/libmkl_intel_thread.a $(MKLLIB)/libmkl_core.a -Wl,--end-group -openmp make make install Cfour v1 serial: FC=ifort CC=icc ./configure --with-blas="-lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -openmp -liomp5 -lpthread" --prefix=/home/yvishnev/Apps/Cfour/cfour_v1_serial ------------------------------------------------------------------------------------------------------------- |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|