@@ -6,139 +6,12 @@ Development of entity for `SuperMUC` is currently ongoing. Use the following doc
66You can load the installed dependencies with
77
88``` sh
9- # old
10- # ml cmake
11- # module load cmake gcc/14.2.0
12- # source /lrz/sys/intel/oneapi_2025.3.0/setvars.sh &> /dev/null
13-
14- # new
15- module sw stack/24.5.0
16- module load cmake gcc/14.2.0
17- module load intel-toolkit/2025.2.0
18- ```
19-
20- ** Building the dependencies**
21-
22- Please note that SuperMUC does not have direct access to the internet, so you have to set up a proxy and reverse tunnel ([ docs] ( https://doku.lrz.de/faq-installing-your-own-applications-on-supermug-ng-behind-a-firewall-10746066.html#FAQ:InstallingyourownapplicationsonSuperMUGNG(behindafirewall)-CreateareverseSSHtunnelforinternetaccessfromSuperMUC-NGloginnode ) ).
23-
24- Big thanks to Martin at LRZ support for setting up the following build script for entity's dependencies:
25-
26- ``` sh
27- export INSTALL_DIR=" /path/where/you/want/the/install" # change!
28- export KOKKOS_VERSION=" 4.7.00"
29- export ADIOS2_VERSION=" v2.10.2"
30-
31- export NUM_BUILD_THREADS=40
32-
33- # set -e
34-
35- module load cmake gcc/14.2.0
36- source /lrz/sys/intel/oneapi_2025.2.0/setvars.sh & > /dev/null
37- export CC=$( which icx)
38- export CXX=$( which icpx)
39- export FC=$( which ifx)
40-
41- install_kokkos () {
42- if [ ! -d kokkos-src ]; then
43- git clone https://github.com/kokkos/kokkos.git kokkos-src
44- cd kokkos-src
45- git checkout $KOKKOS_VERSION
46- cd ..
47- fi
48-
49- rm -rf build-kokkos
50-
51- cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR /kokkos \
52- -DBUILD_SHARED_LIBS=OFF \
53- -DKokkos_ARCH_INTEL_PVC=ON \
54- -DKokkos_ARCH_SPR=ON \
55- -DKokkos_ENABLE_EXAMPLES=ON \
56- -DKokkos_ENABLE_ONEDPL=ON \
57- -DKokkos_ENABLE_OPENMP=OFF \
58- -DKokkos_ENABLE_SERIAL=ON \
59- -DKokkos_ENABLE_SYCL=ON \
60- -DKokkos_ENABLE_SYCL_RELOCATABLE_DEVICE_CODE=ON \
61- -B build-kokkos \
62- -S kokkos-src
63-
64- cmake --build build-kokkos -j $NUM_BUILD_THREADS
65-
66- cmake --install build-kokkos
67- }
68-
69-
70- install_adios2 () {
71- if [ ! -d adios2-src ]; then
72- git clone https://github.com/ornladios/ADIOS2.git adios2-src
73- cd adios2-src
74- git checkout $ADIOS2_VERSION
75- cd ..
76- fi
77-
78- rm -rf build-adios2
79-
80- cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR /adios2 \
81- -DCMAKE_C_COMPILER=$( which mpiicx) \
82- -DCMAKE_CXX_COMPILER=$( which mpiicpx) \
83- -DCMAKE_Fortran_COMPILER=$( which mpiifx) \
84- -DCMAKE_BUILD_TYPE=Release \
85- -DCMAKE_POSITION_INDEPENDENT_CODE=OFF \
86- -DADIOS2_USE_AWSSDK=OFF \
87- -DADIOS2_USE_Blosc2=OFF \
88- -DADIOS2_USE_BZip2=ON \
89- -DADIOS2_USE_DataSpaces=OFF \
90- -DADIOS2_USE_HDF5=OFF \
91- -DADIOS2_USE_MPI=ON \
92- -DADIOS2_USE_PNG=OFF \
93- -DADIOS2_USE_Python=OFF \
94- -DADIOS2_USE_SST=ON \
95- -DADIOS2_USE_SZ=OFF \
96- -DADIOS2_USE_ZFP=OFF \
97- -DADIOS2_USE_Catalyst=OFF \
98- -DADIOS2_USE_LIBPRESSIO=OFF \
99- -DADIOS2_USE_CUDA=OFF \
100- -DADIOS2_USE_Kokkos=OFF \
101- -DBUILD_TESTING=OFF \
102- -DADIOS2_BUILD_EXAMPLES=OFF \
103- -DADIOS2_USE_Endian_Reverse=ON \
104- -DADIOS2_USE_IME=OFF \
105- -DADIOS2_USE_MGARD=OFF \
106- -DCMAKE_DISABLE_FIND_PACKAGE_BISON=TRUE \
107- -DCMAKE_DISABLE_FIND_PACKAGE_FLEX=TRUE \
108- -B build-adios2 \
109- -S adios2-src
110-
111- cmake --build build-adios2 -j $NUM_BUILD_THREADS
112-
113- cmake --install build-adios2
114-
115- }
116-
117- [ ! -d $INSTALL_DIR /kokkos ] && install_kokkos
118- export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH :$INSTALL_DIR /kokkos/lib64/cmake
119-
120- [ ! -d $INSTALL_DIR /adios2 ] && install_adios2
121- export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH :$INSTALL_DIR /adios2/lib64/cmake
122- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH :$INSTALL_DIR /adios2/lib64
123-
124- # [ ! -d $INSTALL_DIR/entity ] && install_entity
125-
126- echo " If this builds without errors: Congratulations!"
127- echo " Please set your envirnoment as follows:"
128- echo " module load cmake gcc/14.2.0"
129- echo " source /lrz/sys/intel/oneapi_2025.2.0/setvars.sh &> /dev/null"
130- echo " export LD_LIBRARY_PATH=\$ LD_LIBRARY_PATH:$INSTALL_DIR /adios2/lib64"
131- echo " export PATH=\$ PATH:$INSTALL_DIR /entity/bin"
132- ```
133-
134- Please note that this version of ` adios2 ` is installed without ` HDF5 ` support!
135-
136- You can compile ` entity ` with:
137-
138- ``` sh
139- cmake -B build -D pgen=streaming -D precision=single -D mpi=ON -D output=OFF -Dgpu_aware_mpi=OFF -DCMAKE_C_COMPILER=$( which mpiicx) -DCMAKE_CXX_COMPILER=$( which mpiicpx) -DFETCHCONTENT_FULLY_DISCONNECTED=ON
140-
141- cmake --build build -j16
9+ module sw stack/24.6.0
10+ module load cmake
11+ module load intel/2025.3.0
12+ module load intel-mpi/2021.17.0
13+ module load kokkos/5.0.00
14+ module load adios2/2.11.0
14215```
14316
14417** Running entity**
@@ -159,12 +32,6 @@ This is an example SLURM script:
15932
16033module load slurm_setup
16134
162- module sw stack/24.5.0
163- module load cmake gcc/14.2.0
164- module load intel-toolkit/2025.2.0
165- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH :/dss/dsshome1/02/di38gak/libs/adios2/lib64
166- module list
167-
16835export I_MPI_OFFLOAD=1
16936export I_MPI_OFFLOAD_RDMA=1
17037export I_MPI_OFFLOAD_FAST_MEMCPY_COLL=1
0 commit comments