#!/usr/bin/env bash mods=( #cuda/11.6 nvhpcsdk/22 # for openacc gcc/12 openmpi mkl/2020.4 autoconf/2.69 automake/1.15 libtool/2.4.6 ) module purge module load ${mods[@]} LIB_PATH="${NVHPC_CUDA_HOME}/lib64" export CUBLAS_LD_PATH="${NVHPC_ROOT}/math_libs/lib64/" export CUDA_ROOT=${CUDA_HOME} export CUDA_LDFLAGS="-L${LIB_PATH} -lcuda -L${LIB_PATH} -lcudart -L${CUBLAS_LD_PATH} -lcublas" export CUDA_CXXFLAGS="-I${CUDA_HOME}/include" export LD_LIBRARY_PATH="${MKL_HOME}/lib/intel64:${LD_LIBRARY_PATH}" MPILIBS=$(mpicxx -show | awk '!($1="")') export MPILIBS export MPINVCXX="nv++ ${MPILIBS}" ls ${CUBLAS_LD_PATH}/libcublas.so ls ${LIB_PATH}/libcudart.so #export OMPI_CC="nvc" #export OMPI_CXX="nvc++" BLAS_LDFLAGS="-L${PWD}/OpenBLAS-0.3.20/ -lopenblas" _openblas_make () { [[ -d OpenBLAS-0.3.20/ ]] || { wget https://github.com/xianyi/OpenBLAS/releases/download/v0.3.20/OpenBLAS-0.3.20.tar.gz tar xvzf OpenBLAS-0.3.20.tar.gz cd OpenBLAS-0.3.20/ make FC=gfortran CC=gcc USE_OPENMP=1 NUM_THREADS=72 TARGET=SKYLAKEX } && { echo "Openblas built" } } ( _openblas_make; ) cat <