LAPACK
Comment utiliser la librairie lapack sous l'environnement nvhpc ? Voici un exemple script.slurm (BigInt=32, BigInt=64)
#!/bin/bash
#SBATCH -J script_art63
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -c 80
#SBATCH --time=00:40:00
#SBATCH -w turpancomp1
#reprsentation digitale des entiers : 32 ou 64 bits
BigInt=64
module purge
module load nvhpc-nompi/22.9
export BINARY=test_LU_f
export SOURCE=test_LU
rm -f ${SOURCE}.o ${BINARY}
if [ ${BigInt} -eq 64 ]
then
echo "compilation integer 64 bit"
nvfortran -c -DBIGINT -O3 -g -cpp -Minfo -mp=multicore ${SOURCE}.F90
ls ${SOURCE}.o
nvfortran -O3 -g -cpp -Minfo -mp=multicore -o ${BINARY} ${SOURCE}.o -lblas_ilp64 -llapack_ilp64
else
echo "compilation integer 32 bit"
nvfortran -c -O3 -g -cpp -Minfo -mp=multicore ${SOURCE}.F90
ls ${SOURCE}.o
nvfortran -O3 -g -cpp -Minfo -mp=multicore -o ${BINARY} ${SOURCE}.o -lblas -llapack
fi
ldd ./${BINARY}
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}
echo "OMP_NUM_THREADS=${OMP_NUM_THREADS}"
time mpirun -np 1 --map-by ppr:1:node:PE=${SLURM_CPUS_PER_TASK} ./${BINARY}
Comment utiliser la librairie lapack sous l'environnement arm ? Voici un exemple script.slurm (BigInt=32)
#!/bin/bash
#SBATCH -J script_art633
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -c 80
#SBATCH --time=00:40:00
module purge
module load arm
module load acfl/22.1
module load armpl/22.1.0
export BINARY=test_LU_f
export SOURCE=test_LU_32
rm -f ${SOURCE}.o ${BINARY}
armflang -I$ARMPL_INCLUDES -Ofast -c -g -fopenmp ${SOURCE}.F90
ls ${SOURCE}.o
armflang -Ofast -g -fopenmp -o ${BINARY} ${SOURCE}.o -armpl_mp
ldd ./${BINARY}
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}
echo "OMP_NUM_THREADS=${OMP_NUM_THREADS}"
./${BINARY}
Comment utiliser la librairie lapack sous l'environnement arm ? Voici un exemple script.slurm (BigInt=64)
#!/bin/bash
#SBATCH -J script_art633
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -c 80
#SBATCH --time=00:40:00
module purge
module load arm
module load acfl/22.1
module load armpl/22.1.0
export BINARY=test_LU_f
#export SOURCE=test_LU-bckup
export SOURCE=test_LU_64
rm -f ${SOURCE}.o ${BINARY}
armflang -I$ARMPL_INCLUDES_ILP64_MP -Ofast -c -g -fopenmp ${SOURCE}.F90
ls ${SOURCE}.o
armflang -Ofast -g -fopenmp -o ${BINARY} ${SOURCE}.o -armpl=ilp64,parallel
ldd ./${BINARY}
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}
echo "OMP_NUM_THREADS=${OMP_NUM_THREADS}"
./${BINARY}