feat: add README, slurm-run and HPL example
This commit is contained in:
37
HPL/HPL.dat
Normal file
37
HPL/HPL.dat
Normal file
@@ -0,0 +1,37 @@
|
||||
HPLinpack benchmark input file
|
||||
Innovative Computing Laboratory, University of Tennessee
|
||||
HPL.out output file name (if any)
|
||||
6 device out (6=stdout,7=stderr,file)
|
||||
1 # of problems sizes (N)
|
||||
161664 Ns
|
||||
1 # of NBs
|
||||
192 NBs
|
||||
0 PMAP process mapping (0=Row-,1=Column-major)
|
||||
1 # of process grids (P x Q)
|
||||
8 Ps
|
||||
16 Qs
|
||||
16.0 threshold
|
||||
1 # of panel fact
|
||||
2 PFACTs (0=left, 1=Crout, 2=Right)
|
||||
1 # of recursive stopping criterium
|
||||
4 NBMINs (>= 1)
|
||||
1 # of panels in recursion
|
||||
2 NDIVs
|
||||
1 # of recursive panel fact.
|
||||
1 RFACTs (0=left, 1=Crout, 2=Right)
|
||||
1 # of broadcast
|
||||
1 BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM)
|
||||
1 # of lookahead depth
|
||||
1 DEPTHs (>=0)
|
||||
2 SWAP (0=bin-exch,1=long,2=mix)
|
||||
64 swapping threshold
|
||||
0 L1 in (0=transposed,1=no-transposed) form
|
||||
0 U in (0=transposed,1=no-transposed) form
|
||||
1 Equilibration (0=no,1=yes)
|
||||
8 memory alignment in double (> 0)
|
||||
##### This line (no. 32) is ignored (it serves as a separator). ######
|
||||
0 Number of additional problem sizes for PTRANS
|
||||
1200 10000 30000 values of N
|
||||
0 number of additional blocking sizes for PTRANS
|
||||
40 9 8 13 13 20 16 32 64 values of NB
|
||||
|
||||
25
HPL/hpl.run
Executable file
25
HPL/hpl.run
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
#SBATCH --array=1-20 -N1 --ntasks-per-node=128 --cpus-per-task=2
|
||||
#xBATCH --ntasks-per-node=128
|
||||
|
||||
# export OMPI_MCA_pml_ucx_opal_mem_hooks=1
|
||||
|
||||
. /opt/bin/slurm-run.sh
|
||||
|
||||
# export OMPI_MCA_smsc=${OMPI_MCA_smsc:-"^knem"}
|
||||
# export OMPI_MCA_osc=${OMPI_MCA_osc:-"sm,self"}
|
||||
# export OMPI_MCA_osc=${OMPI_MCA_osc:-"^ucx"}
|
||||
# export OMPI_MCA_pml=${OMPI_MCA_pml:-"^ucx"}
|
||||
# export OMPI_MCA_btl=${OMPI_MCA_btl:-"self"}
|
||||
|
||||
# export UCX_TLS=sm,self,tcp
|
||||
# export UCX_TLS=rc,ud,sm,self
|
||||
# export UCX_TLS="ud_mlx5"
|
||||
# export UCX_TLS="ud_verbs"
|
||||
export UCX_LOG_LEVEL=${UCX_LOG_LEVEL:-warn}
|
||||
|
||||
echo "node: `hostname`"
|
||||
cd /work/$USERS/hpl
|
||||
run hpl.sif
|
||||
|
||||
# vim:ft=sh
|
||||
17
README.md
Normal file
17
README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Notes on Intel OneAPI and MPI
|
||||
|
||||
MCA = Modular Component Architecture
|
||||
PML = Point-to-Point Layer
|
||||
OSC = One-Sided Communication
|
||||
BTL = Bit-Transfer Layer
|
||||
SMSC = Shared Memory Single Copy
|
||||
DSO = Dynamic Share Object
|
||||
|
||||
For info on available components and configurations, run within
|
||||
`intel-obxkit-sdk.sif`:
|
||||
|
||||
```
|
||||
/opt/pmix/bin/pmix_info
|
||||
/opt/openmpi/bin/ompi_info
|
||||
/opt/ucx/bin/ucx_info -d
|
||||
```
|
||||
@@ -1,35 +0,0 @@
|
||||
Bootstrap: localimage
|
||||
From: intel-obxkit-sdk.sif
|
||||
Stage: build
|
||||
|
||||
%files
|
||||
/home/jonas/src/hpl-2.3.tar.gz /build/hpl-2.3.tar.gz
|
||||
|
||||
%post
|
||||
cd /build
|
||||
tar vfxz hpl-2.3.tar.gz
|
||||
cd hpl-2.3
|
||||
CC=icx MPICC=mpiicx ./configure
|
||||
make -j
|
||||
|
||||
Bootstrap: localimage
|
||||
From: intel-obxkit-runtime.sif
|
||||
Stage: runtime
|
||||
|
||||
%environment
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app
|
||||
|
||||
%files from build
|
||||
/build/hpl-2.3/testing/xhpl /app/xhpl
|
||||
|
||||
%runscript
|
||||
/app/xhpl
|
||||
|
||||
%labels
|
||||
Author jonas@juselius.io
|
||||
|
||||
%help
|
||||
High-Performance LinPACK
|
||||
https://www.advancedclustering.com/act_kb/tune-hpl-dat-file/
|
||||
|
||||
# vim:ft=singularity
|
||||
39
slurm-run.sh
Normal file
39
slurm-run.sh
Normal file
@@ -0,0 +1,39 @@
|
||||
# vim:ft=sh
|
||||
|
||||
set -e
|
||||
|
||||
export SINGULARITY_BINDPATH="${SINGULARITY_BINDPATH:-/work/$USER}"
|
||||
|
||||
mpi=${mpi:-pmix}
|
||||
|
||||
# export PMIX_MCA_mca_component_show_load_errors=1
|
||||
|
||||
export OMPI_MCA_osc=${OMPI_MCA_osc:-"ucx"}
|
||||
export OMPI_MCA_pml=${OMPI_MCA_pml:-"ucx"}
|
||||
export OMPI_MCA_btl=${OMPI_MCA_btl:-"self"}
|
||||
# export OMPI_MCA_smsc=${OMPI_MCA_smsc:-"^knem"}
|
||||
# export OMPI_MCA_pml_ucx_opal_mem_hooks=1
|
||||
|
||||
export UCX_PROTO_ENABLE=n
|
||||
export UCX_PROTO_INFO=y
|
||||
# export UCX_HANDLE_ERRORS="bt"
|
||||
# export UCX_UNIFIED_MODE="y"
|
||||
|
||||
# fatal, error, warn, info, debug, trace, req, data, async, func, poll
|
||||
# export UCX_LOG_LEVEL=${UCX_LOG_LEVEL:-warn}
|
||||
export UCX_TLS=${UCX_TLS:-"dc,sm,self"} # use rc for nodes <= 4
|
||||
|
||||
run () {
|
||||
if [ -z "$SLURM_SRUN_COMM_HOST" ]; then
|
||||
if [ "$mpi" = "intel" ]; then
|
||||
echo "mpiexec -n $SLURM_NTASKS $@"
|
||||
mpiexec -n $SLURM_NTASKS $@
|
||||
else
|
||||
srun $@
|
||||
fi
|
||||
else
|
||||
$@
|
||||
fi
|
||||
echo "done: $?"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user