diff --git a/cluster_configs/ifa-cluster.cmake b/cluster_configs/ifa-cluster.cmake new file mode 100644 index 0000000000000000000000000000000000000000..07ac50781952200af804af95caf6ca8c3e66176a --- /dev/null +++ b/cluster_configs/ifa-cluster.cmake @@ -0,0 +1,51 @@ +#get from loaded modules versions of compilers + + +#NETCDF support +if (USE_NETCDF) + set(CUSTOM_NETCDF false FORCE) + find_package(Net_CDFCxx) +endif() + + +if ( compiler_lc STREQUAL "intel") + if (NO_MPI) + set(CMAKE_C_COMPILER icc CACHE STRING "C compiler" FORCE) # C compiler for serial build + set(CMAKE_CXX_COMPILER c++ CACHE STRING "CXX compiler" FORCE) # C++ compiler for serial build + set(CMAKE_Fortran_COMPILER ifort CACHE STRING "Fortran compiler" FORCE) # Fortran compiler for serial build + else() + set(CMAKE_C_COMPILER mpiicpc CACHE STRING "C compiler" FORCE) # C compiler for parallel build + set(CMAKE_CXX_COMPILER mpiicpc CACHE STRING "CXX compiler" FORCE) # C++ compiler for parallel build + set(CMAKE_Fortran_COMPILER mpiifort CACHE STRING "Fortran compiler" FORCE) # Fortran compiler for parallel build + endif() + set(comp_flags " -restrict -alias-const -parallel -funroll-loops -no-ansi-alias -mavx -fma ") +endif() + +if ( compiler_lc STREQUAL "intel_oneapi") + messege(ERROR "ONEAPI is not supported on IFA cluster") +endif() + +if ( compiler_lc STREQUAL "gnu") + if (NO_MPI) + set(CMAKE_C_COMPILER gcc CACHE STRING "C compiler" FORCE) # C compiler for serial build + set(CMAKE_CXX_COMPILER g++ CACHE STRING "CXX compiler" FORCE) # C++ compiler for serial build + set(CMAKE_Fortran_COMPILER gfortran CACHE STRING "Fortran compiler" FORCE) # Fortran compiler for serial build + else() + set(CMAKE_C_COMPILER mpicc CACHE STRING "C compiler" FORCE) # C compiler for parallel build + set(CMAKE_CXX_COMPILER mpicxx CACHE STRING "CXX compiler" FORCE) # C++ compiler for parallel build + set(CMAKE_Fortran_COMPILER mpifort CACHE STRING "Fortran compiler" FORCE) # Fortran compiler for parallel build + endif() + set(comp_flags " -O3 -fno-strict-aliasing -funroll-loops -march=native -std=c++0x ") +endif() + +#specify stuff for run-script +set(cluster_queue "epyc") +if ( ${compiler_lc} STREQUAL "intel" OR ${compiler_lc} STREQUAL "intel_oneapi") + set(run_exec "srun -u") + set(prerun_env_export "module load mpi/impi && export I_MPI_PMI_LIBRARY=/usr/lib64/libpmi.so") +endif() + + +if ( compiler_lc STREQUAL "gnu") + set(run_exec "mpirun") +endif () \ No newline at end of file diff --git a/cluster_configs/inm-cluster-avx.cmake b/cluster_configs/inm-cluster-avx.cmake index c2e7942c9b5b2f935f12a67062c1e84e6be2d857..af55c7debfcd0a64ffeaadf5a97238b95404ebf3 100644 --- a/cluster_configs/inm-cluster-avx.cmake +++ b/cluster_configs/inm-cluster-avx.cmake @@ -56,4 +56,5 @@ if ( compiler_lc STREQUAL "gnu") endif() #specify stuff for run-script -set(cluster_queue "normal") \ No newline at end of file +set(cluster_queue "normal") +set(run_exec "mpirun") \ No newline at end of file diff --git a/cluster_configs/inm-cluster-avx2.cmake b/cluster_configs/inm-cluster-avx2.cmake index 19c7c763a31be4ddb96daf43370b0f4ed6070cb1..3fc90727431a9c1dbead336662261a64f4525e72 100644 --- a/cluster_configs/inm-cluster-avx2.cmake +++ b/cluster_configs/inm-cluster-avx2.cmake @@ -56,4 +56,5 @@ set(comp_flags " -O3 -fno-strict-aliasing -funroll-loops -mavx2 -std=c++0x ") endif() #specify stuff for run-script -set(cluster_queue "normal") \ No newline at end of file +set(cluster_queue "normal") +set(run_exec "mpirun") \ No newline at end of file