... | @@ -28,7 +28,7 @@ I've copied some EAGLE initial conditions over to this system: |
... | @@ -28,7 +28,7 @@ I've copied some EAGLE initial conditions over to this system: |
|
|
|
|
|
On this system optional features of libraries (e.g. MPI support, threading etc) are selected by loading 'flavor' modules. If you run 'module help' on the module you want to use it tells you what combinations are available and how to load them.
|
|
On this system optional features of libraries (e.g. MPI support, threading etc) are selected by loading 'flavor' modules. If you run 'module help' on the module you want to use it tells you what combinations are available and how to load them.
|
|
|
|
|
|
For the Intel 2018 compiler with OpenMPI:
|
|
For the Intel 2018 compiler with OpenMPI, and assuming we might want to use Velociraptor (which needs C++):
|
|
|
|
|
|
```
|
|
```
|
|
module purge
|
|
module purge
|
... | @@ -40,8 +40,7 @@ module load gsl/2.1 |
... | @@ -40,8 +40,7 @@ module load gsl/2.1 |
|
module load fftw3/gnu/3.3.6
|
|
module load fftw3/gnu/3.3.6
|
|
module load tbb/17.0.6.256
|
|
module load tbb/17.0.6.256
|
|
|
|
|
|
# Ensure we get the right compiler run time libraries.
|
|
# Ensure we get the right compiler run time libraries
|
|
# Need to include C++ stdlibs in case we want to use Velociraptor.
|
|
|
|
export LDFLAGS="-L${MPI_ROOT}/lib/ -L${C_INTEL_ROOT}/lib/intel64/ -cxxlib"
|
|
export LDFLAGS="-L${MPI_ROOT}/lib/ -L${C_INTEL_ROOT}/lib/intel64/ -cxxlib"
|
|
|
|
|
|
# If IPO is enabled we need to link all dependencies explicitly
|
|
# If IPO is enabled we need to link all dependencies explicitly
|
... | @@ -124,23 +123,14 @@ Assuming we're using a recent copy of Velociraptor which does not need the HDF5 |
... | @@ -124,23 +123,14 @@ Assuming we're using a recent copy of Velociraptor which does not need the HDF5 |
|
|
|
|
|
```
|
|
```
|
|
module purge
|
|
module purge
|
|
module load intel/18.0.3.222
|
|
module load intel/18.0.3.222 gnu/6.3.0
|
|
module load flavor/openmpi/thread-multiple mpi/openmpi/2.0.4
|
|
module load flavor/openmpi/thread-multiple mpi/openmpi/2.0.4
|
|
module load flavor/hdf5/parallel hdf5/1.10.1
|
|
module load flavor/hdf5/parallel hdf5/1.10.1
|
|
module load gsl/2.1
|
|
module load gsl/2.1
|
|
module load cmake/3.13.3
|
|
module load cmake
|
|
|
|
|
|
# Need some hints to find bits of openmpi
|
|
|
|
export LIBS="-lopen-rte -lopen-pal"
|
|
export LIBS="-lopen-rte -lopen-pal"
|
|
|
|
|
|
# Make sure to use std libs from latest icc (hdf5 etc are built with older version)
|
|
|
|
export LDFLAGS="-L${MPI_ROOT}/lib/ -L${C_INTEL_ROOT}/lib/intel64/"
|
|
export LDFLAGS="-L${MPI_ROOT}/lib/ -L${C_INTEL_ROOT}/lib/intel64/"
|
|
|
|
|
|
# Need to use C++ libs from a newer gcc than the default
|
|
|
|
GCC_PATH=/ccc/products/gcc-7.3.0/system/default/
|
|
|
|
export PATH="${GCC_PATH}/bin/:${PATH}"
|
|
|
|
export CPPFLAGS="-I{GCC_PATH}/include/"
|
|
|
|
export LDFLAGS="${LDFLAGS} -L${GCC_PATH}/lib64/ -Wl,-rpath=${GCC_PATH}/lib64/"
|
|
|
|
```
|
|
```
|
|
|
|
|
|
### CMake configuration
|
|
### CMake configuration
|
... | @@ -150,9 +140,7 @@ It seems to be fairly difficult to stop it picking up bits of GSL from /usr/lib/ |
... | @@ -150,9 +140,7 @@ It seems to be fairly difficult to stop it picking up bits of GSL from /usr/lib/ |
|
mkdir build
|
|
mkdir build
|
|
cd build
|
|
cd build
|
|
cmake .. \
|
|
cmake .. \
|
|
-DCMAKE_SKIP_BUILD_RPATH=FALSE \
|
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
|
-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE \
|
|
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
|
|
-DCMAKE_C_COMPILER=icc \
|
|
-DCMAKE_C_COMPILER=icc \
|
|
-DCMAKE_CXX_COMPILER=icpc \
|
|
-DCMAKE_CXX_COMPILER=icpc \
|
|
-DGSL_ROOT_DIR=${GSL_ROOT} \
|
|
-DGSL_ROOT_DIR=${GSL_ROOT} \
|
... | @@ -161,6 +149,8 @@ cmake .. \ |
... | @@ -161,6 +149,8 @@ cmake .. \ |
|
-DGSL_LIBRARY_DEBUG=${GSL_ROOT}/lib/libgsl.so \
|
|
-DGSL_LIBRARY_DEBUG=${GSL_ROOT}/lib/libgsl.so \
|
|
-DGSL_CBLAS_LIBRARY=${GSL_ROOT}/lib/libgslcblas.so \
|
|
-DGSL_CBLAS_LIBRARY=${GSL_ROOT}/lib/libgslcblas.so \
|
|
-DGSL_CBLAS_LIBRARY_DEBUG=${GSL_ROOT}/lib/libgslcblas.so \
|
|
-DGSL_CBLAS_LIBRARY_DEBUG=${GSL_ROOT}/lib/libgslcblas.so \
|
|
|
|
-DVR_USE_SWIFT_INTERFACE=ON \
|
|
|
|
-DVR_USE_EXTRA_FOF_INFO=ON
|
|
-DNBODY_USE_HYDRO=ON \
|
|
-DNBODY_USE_HYDRO=ON \
|
|
-DVR_USE_HYDRO=ON
|
|
-DVR_USE_HYDRO=ON
|
|
make
|
|
make
|
... | | ... | |