2
2
#From: tikk3r/lofar-grid-hpccloud:lofar_sksp_base
3
3
# If building from a base image locally enable this instead.
4
4
Bootstrap: localimage
5
- From: lofar_sksp_base_v3 .3.1_x86-64_generic_avx512_cuda_11_3 .sif
5
+ From: lofar_sksp_v3 .3.3_beta_x86-64_generic_avx512_cuda_11_5_base .sif
6
6
7
- #%environment
8
- #export PYTHONPATH=
9
- #export INSTALLDIR=/opt/lofar
10
- #. $INSTALLDIR/init.sh
11
- #source $INSTALLDIR/pyenv-py2/bin/activate
7
+ %environment
8
+ . $INSTALLDIR/init.sh
9
+ source $INSTALLDIR/pyenv-py2/bin/activate
12
10
13
11
%post
14
12
. $INSTALLDIR/init.sh
@@ -65,7 +63,7 @@ From: lofar_sksp_base_v3.3.1_x86-64_generic_avx512_cuda_11_3.sif
65
63
#export MTUNE='cascadelake'
66
64
export NOAVX512=false
67
65
68
- if [ $NOAVX512 ]; then
66
+ if [ $NOAVX512 = false ]; then
69
67
export CFLAGS="-march=${MARCH} -mtune=${MTUNE} -mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512ifma -mno-avx512vbmi"
70
68
export CXXFLAGS="-march=${MARCH} -mtune=${MTUNE} -std=c++11 -mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512vl -mno-avx512bw -mno-avx512dq -mno-avx512ifma -mno-avx512vbmi"
71
69
else
@@ -332,14 +330,14 @@ From: lofar_sksp_base_v3.3.1_x86-64_generic_avx512_cuda_11_3.sif
332
330
#git clone https://gitlab.com/astron-idg/idg.git src
333
331
git clone https://git.astron.nl/RD/idg.git src
334
332
cd src && git checkout $IDG_VERSION && echo export IDG_VERSION=$(git rev-parse --short HEAD) >> $INSTALLDIR/init.sh && mkdir build && cd build
335
- if [ $HAS_CUDA ] && [ $HAS_MKL ]; then
336
- cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/idg -DBUILD_WITH_MKL=ON -DBUILD_LIB_CUDA=ON -DCUDA_INCLUDE_DIR=/usr/local/cuda/include -DCMAKE_BUILD_TYPE=Debug ..
337
- elif [ ! $HAS_CUDA ] && [ $HAS_MKL ]; then
338
- cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/idg -DBUILD_WITH_MKL=ON -DCMAKE_BUILD_TYPE=Debug ..
339
- elif [ $HAS_CUDA ] && [ ! $HAS_MKL ]; then
340
- cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/idg -DBUILD_WITH_MKL=OFF -DBUILD_LIB_CUDA=ON -DCUDA_INCLUDE_DIR=/usr/local/cuda/include -DCMAKE_BUILD_TYPE=Debug ..
333
+ if [ $HAS_CUDA = true ] && [ $HAS_MKL = true ]; then
334
+ cmake3 -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/idg -DBUILD_WITH_MKL=ON -DBUILD_LIB_CUDA=ON -DCUDA_INCLUDE_DIR=/usr/local/cuda/include -DCMAKE_BUILD_TYPE=Debug ..
335
+ elif [ $HAS_CUDA = false ] && [ $HAS_MKL = true ]; then
336
+ cmake3 -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/idg -DBUILD_WITH_MKL=ON -DCMAKE_BUILD_TYPE=Debug ..
337
+ elif [ $HAS_CUDA = false ] && [ ! $HAS_MKL = false ]; then
338
+ cmake3 -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/idg -DBUILD_WITH_MKL=OFF -DBUILD_LIB_CUDA=ON -DCUDA_INCLUDE_DIR=/usr/local/cuda/include -DCMAKE_BUILD_TYPE=Debug -DBLAS_openblas_LIBRARY=/usr/lib64/libopenblasp.so -DBLAS_blas_LIBRARY=/usr/lib64/libopenblasp.so ..
341
339
else
342
- cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/idg ..
340
+ cmake3 -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/idg -DBLAS_openblas_LIBRARY=/usr/lib64/libopenblasp.so -DBLAS_blas_LIBRARY=/usr/lib64/libopenblasp.so ..
343
341
fi
344
342
make -j $J
345
343
make install
@@ -349,26 +347,29 @@ From: lofar_sksp_base_v3.3.1_x86-64_generic_avx512_cuda_11_3.sif
349
347
#
350
348
# Install DPPP
351
349
#
352
- # Temporarily get rid of MKL. Throws an error about needing a not-OpenMP version of OpenBLAS and MKL's multithreaded stuff uses OpenMP from what I can tell.
353
- export LD_LIBRARY_PATH=$(echo $LD_LIBRARY_PATH | tr ":" "\n" | grep -v "/opt/intel" | tr "\n" ":")
354
- export CPATH=$(echo $CPATH | tr ":" "\n" | grep -v "/opt/intel" | tr "\n" ":")
355
- export CMAKE_PREFIX_PATH=$(echo $CMAKE_PREFIX_PATH | tr ":" "\n" | grep -v "/opt/intel" | tr "\n" ":")
356
-
357
350
mkdir -p $INSTALLDIR/DPPP/build
358
351
git clone https://git.astron.nl/RD/DP3.git $INSTALLDIR/DPPP/src
359
352
cd $INSTALLDIR/DPPP/src
360
353
git checkout ${DPPP_VERSION}
361
354
echo export DPPP_VERSION=$(git rev-parse --short HEAD) >> $INSTALLDIR/init.sh
362
355
cd $INSTALLDIR/DPPP/build
356
+ # Temporarily get rid of MKL. Throws an error about needing a not-OpenMP version of OpenBLAS and MKL's multithreaded stuff uses OpenMP from what I can tell.
357
+ if [ $HAS_MKL = true ]; then
358
+ export LD_LIBRARY_PATH=$(echo $LD_LIBRARY_PATH | tr ":" "\n" | grep -v "/opt/intel" | tr "\n" ":")
359
+ export CPATH=$(echo $CPATH | tr ":" "\n" | grep -v "/opt/intel" | tr "\n" ":")
360
+ export CMAKE_PREFIX_PATH=$(echo $CMAKE_PREFIX_PATH | tr ":" "\n" | grep -v "/opt/intel" | tr "\n" ":")
361
+ fi
363
362
# Link to libopenblasp.so (note the p) and not libopenblas.so so we get the multi-threaded version.
364
- cmake3 -DCMAKE_CXX_FLAGS="-D_GLIB_USE_CXX_ABI=1 -DBOOST_NO_CXX11_SCOPED_ENUMS" -DCMAKE_INSTALL_PREFIX:PATH=$INSTALLDIR/DPPP -DLOFAR_STATION_RESPONSE_DIR:PATH=$INSTALLDIR/lofar/include -DLOFAR_STATION_RESPONSE_LIB:FILEPATH=$INSTALLDIR/lofar/lib/libstationresponse.so -DIDGAPI_LIBRARIES=$INSTALLDIR/idg/lib/libidg-api.so -DIDGAPI_INCLUDE_DIRS=$INSTALLDIR/idg/include -DAOFLAGGER_INCLUDE_DIR=$INSTALLDIR/aoflagger/include -DAOFLAGGER_LIB=$INSTALLDIR/aoflagger/lib/libaoflagger.so -DBLAS_openblas_LIBRARY=/usr/lib64/libopenblasp.so ../src
363
+ cmake3 -DCMAKE_CXX_FLAGS="-D_GLIB_USE_CXX_ABI=1 -DBOOST_NO_CXX11_SCOPED_ENUMS" -DCMAKE_INSTALL_PREFIX:PATH=$INSTALLDIR/DPPP -DLOFAR_STATION_RESPONSE_DIR:PATH=$INSTALLDIR/lofar/include -DLOFAR_STATION_RESPONSE_LIB:FILEPATH=$INSTALLDIR/lofar/lib/libstationresponse.so -DIDGAPI_LIBRARIES=$INSTALLDIR/idg/lib/libidg-api.so -DIDGAPI_INCLUDE_DIRS=$INSTALLDIR/idg/include -DAOFLAGGER_INCLUDE_DIR=$INSTALLDIR/aoflagger/include -DAOFLAGGER_LIB=$INSTALLDIR/aoflagger/lib/libaoflagger.so -DBLAS_openblas_LIBRARY:FILEPATH =/usr/lib64/libopenblasp.so ../src
365
364
$make -s -j $J && $make install
366
365
cd $INSTALLDIR
367
366
rm -rf $INSTALLDIR/DPPP/build
368
367
rm -rf $INSTALLDIR/DPPP/src
369
- export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64:$LD_LIBRARY_PATH
370
- export CPATH=/opt/intel/mkl/include:$CPATH
371
- export CMAKE_PREFIX_PATH=/opt/intel/mkl/lib/intel64:$CMAKE_PREFIX_PATH
368
+ if [ $HAS_MKL = true ]; then
369
+ export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64:$LD_LIBRARY_PATH
370
+ export CPATH=/opt/intel/mkl/include:$CPATH
371
+ export CMAKE_PREFIX_PATH=/opt/intel/mkl/lib/intel64:$CMAKE_PREFIX_PATH
372
+ fi
372
373
373
374
############################################
374
375
# Install Python packages for Python 2 now #
@@ -443,7 +444,7 @@ From: lofar_sksp_base_v3.3.1_x86-64_generic_avx512_cuda_11_3.sif
443
444
export CC=`which mpicc`
444
445
export CXX=`which mpic++`
445
446
# TARGET_CPU is a WSClean 2.10.2 feature. Change to PORTABLE=TRUE if using and older version to avoid -march=native being triggered.
446
- cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/wsclean -DTARGET_CPU=${MARCH} -DIDGAPI_LIBRARIES=$INSTALLDIR/idg/lib/libidg-api.so -DIDGAPI_INCLUDE_DIRS=$INSTALLDIR/idg/include ..
447
+ cmake -DCMAKE_INSTALL_PREFIX=$INSTALLDIR/wsclean -DTARGET_CPU=${MARCH} -DIDGAPI_LIBRARIES=$INSTALLDIR/idg/lib/libidg-api.so -DIDGAPI_INCLUDE_DIRS=$INSTALLDIR/idg/include -DBLAS_openblas_LIBRARY=/usr/lib64/libopenblasp.so ..
447
448
$make -j ${J}
448
449
$make install
449
450
cd $INSTALLDIR
0 commit comments