A simple collection of necessary external libraries for my simulation
You should have cmake>=3.10 installed.
- install
conda - create a conda environment, for example
conda create -n py3 python=3- install compilers and necessary libs in the conda environment:
conda activate py3
conda install mkl-devel scipy numpy openmpi mpi4py gcc_linux-64 gxx_linux-64 gfortran_linux-64 boost- setup environment variables
export MKL_THREADING_LAYER=GNU # necessary because conda uses gcc
export MKL_INTERFACE_LAYER=GNU,LP64 # necessary because conda uses gcc
export MKLROOT=/full/path/to/conda/envs/py3- run
Compile.py:
python3 ./Compile.py # default to gcc & non-debug flagsModify Compile.py properly so you are invoking the correct compiler with proper flags.
An example of invoking intel compilers with multiple arch dispatch is included there.
- check the compilation logs in
*/build/Testing/Temporaryto see if any error occurs. - check if the installed
/full/install/path/share/pvfmm/pvfmmConfig.cmakefile has correct path
gcc>=7for fullc++14supportmpicxxandmpiccmklor other proper BLAS, LAPACK, and FFTW libs- Proper MKL environment variables setup:
$ env | grep MKL
MKL_THREADING_LAYER=GNU # necessary if using gcc
MKL_INTERFACE_LAYER=GNU,LP64 # necessary if using gcc
MKLROOT=/full/path/to/MKL/library/base/folder
$ ls $MKLROOT/lib | grep libmkl_rt.so
libmkl_rt.so
$ ls $MKLROOT/include | grep mkl.h
mkl.h