mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-14 01:35:36 +00:00
Sunspot compile
This commit is contained in:
parent
ffd7301649
commit
1352bad2e4
46
systems/Sunspot/benchmarks/bench.pbs
Normal file
46
systems/Sunspot/benchmarks/bench.pbs
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#PBS -l select=1:system=sunspot,place=scatter
|
||||||
|
#PBS -A LatticeQCD_aesp_CNDA
|
||||||
|
#PBS -l walltime=01:00:00
|
||||||
|
#PBS -N dwf
|
||||||
|
#PBS -k doe
|
||||||
|
|
||||||
|
HDIR=/home/paboyle/
|
||||||
|
module use /soft/testing/modulefiles/
|
||||||
|
module load intel-UMD23.05.25593.11/23.05.25593.11
|
||||||
|
module load tools/pti-gpu
|
||||||
|
export LD_LIBRARY_PATH=$HDIR/tools/lib64:$LD_LIBRARY_PATH
|
||||||
|
export PATH=$HDIR/tools/bin:$PATH
|
||||||
|
|
||||||
|
export TZ='/usr/share/zoneinfo/US/Central'
|
||||||
|
export OMP_PROC_BIND=spread
|
||||||
|
export OMP_NUM_THREADS=3
|
||||||
|
unset OMP_PLACES
|
||||||
|
|
||||||
|
cd $PBS_O_WORKDIR
|
||||||
|
|
||||||
|
qsub jobscript.pbs
|
||||||
|
|
||||||
|
echo Jobid: $PBS_JOBID
|
||||||
|
echo Running on host `hostname`
|
||||||
|
echo Running on nodes `cat $PBS_NODEFILE`
|
||||||
|
|
||||||
|
echo NODES
|
||||||
|
cat $PBS_NODEFILE
|
||||||
|
NNODES=`wc -l < $PBS_NODEFILE`
|
||||||
|
NRANKS=12 # Number of MPI ranks per node
|
||||||
|
NDEPTH=4 # Number of hardware threads per rank, spacing between MPI ranks on a node
|
||||||
|
NTHREADS=$OMP_NUM_THREADS # Number of OMP threads per rank, given to OMP_NUM_THREADS
|
||||||
|
|
||||||
|
NTOTRANKS=$(( NNODES * NRANKS ))
|
||||||
|
|
||||||
|
echo "NUM_NODES=${NNODES} TOTAL_RANKS=${NTOTRANKS} RANKS_PER_NODE=${NRANKS} THREADS_PER_RANK=${OMP_NUM_THREADS}"
|
||||||
|
echo "OMP_PROC_BIND=$OMP_PROC_BIND OMP_PLACES=$OMP_PLACES"
|
||||||
|
|
||||||
|
|
||||||
|
CMD="mpiexec -np ${NTOTRANKS} -ppn ${NRANKS} -d ${NDEPTH} --cpu-bind=depth -envall \
|
||||||
|
./gpu_tile_compact.sh \
|
||||||
|
./Benchmark_dwf_fp32 --mpi 1.1.2.6 --grid 16.32.64.192 --comms-overlap \
|
||||||
|
--shm-mpi 0 --shm 2048 --device-mem 32000 --accelerator-threads 32"
|
||||||
|
|
52
systems/Sunspot/benchmarks/gpu_tile_compact.sh
Executable file
52
systems/Sunspot/benchmarks/gpu_tile_compact.sh
Executable file
@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
display_help() {
|
||||||
|
echo " Will map gpu tile to rank in compact and then round-robin fashion"
|
||||||
|
echo " Usage (only work for one node of ATS/PVC):"
|
||||||
|
echo " mpiexec --np N gpu_tile_compact.sh ./a.out"
|
||||||
|
echo
|
||||||
|
echo " Example 3 GPU of 2 Tiles with 7 Ranks:"
|
||||||
|
echo " 0 Rank 0.0"
|
||||||
|
echo " 1 Rank 0.1"
|
||||||
|
echo " 2 Rank 1.0"
|
||||||
|
echo " 3 Rank 1.1"
|
||||||
|
echo " 4 Rank 2.0"
|
||||||
|
echo " 5 Rank 2.1"
|
||||||
|
echo " 6 Rank 0.0"
|
||||||
|
echo
|
||||||
|
echo " Hacked together by apl@anl.gov, please contact if bug found"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
#This give the exact GPU count i915 knows about and I use udev to only enumerate the devices with physical presence.
|
||||||
|
#works? num_gpu=$(/usr/bin/udevadm info /sys/module/i915/drivers/pci\:i915/* |& grep -v Unknown | grep -c "P: /devices")
|
||||||
|
num_gpu=6
|
||||||
|
num_tile=2
|
||||||
|
|
||||||
|
if [ "$#" -eq 0 ] || [ "$1" == "--help" ] || [ "$1" == "-h" ] || [ "$num_gpu" = 0 ]; then
|
||||||
|
display_help
|
||||||
|
fi
|
||||||
|
|
||||||
|
gpu_id=$(( (PALS_LOCAL_RANKID / num_tile ) % num_gpu ))
|
||||||
|
tile_id=$((PALS_LOCAL_RANKID % num_tile))
|
||||||
|
|
||||||
|
unset EnableWalkerPartition
|
||||||
|
export EnableImplicitScaling=0
|
||||||
|
export ZE_ENABLE_PCI_ID_DEVICE_ORDER=1
|
||||||
|
export ZE_AFFINITY_MASK=$gpu_id.$tile_id
|
||||||
|
export ONEAPI_DEVICE_FILTER=gpu,level_zero
|
||||||
|
export SYCL_PI_LEVEL_ZERO_DEVICE_SCOPE_EVENTS=0
|
||||||
|
export SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1
|
||||||
|
export SYCL_PI_LEVEL_ZERO_USE_COPY_ENGINE=0:2
|
||||||
|
export SYCL_PI_LEVEL_ZERO_USE_COPY_ENGINE_FOR_D2D_COPY=1
|
||||||
|
#export SYCL_PI_LEVEL_ZERO_USM_RESIDENT=1
|
||||||
|
|
||||||
|
echo "rank $PALS_RANKID ; local rank $PALS_LOCAL_RANKID ; ZE_AFFINITY_MASK=$ZE_AFFINITY_MASK"
|
||||||
|
|
||||||
|
if [ $PALS_LOCAL_RANKID = 0 ]
|
||||||
|
then
|
||||||
|
onetrace --chrome-device-timeline "$@"
|
||||||
|
# "$@"
|
||||||
|
else
|
||||||
|
"$@"
|
||||||
|
fi
|
16
systems/Sunspot/config-command
Normal file
16
systems/Sunspot/config-command
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
TOOLS=$HOME/tools
|
||||||
|
../../configure \
|
||||||
|
--enable-simd=GPU \
|
||||||
|
--enable-gen-simd-width=64 \
|
||||||
|
--enable-comms=mpi-auto \
|
||||||
|
--enable-accelerator-cshift \
|
||||||
|
--disable-gparity \
|
||||||
|
--disable-fermion-reps \
|
||||||
|
--enable-shm=nvlink \
|
||||||
|
--enable-accelerator=sycl \
|
||||||
|
--enable-unified=no \
|
||||||
|
MPICXX=mpicxx \
|
||||||
|
CXX=icpx \
|
||||||
|
LDFLAGS="-fiopenmp -fsycl -fsycl-device-code-split=per_kernel -fsycl-device-lib=all -lze_loader -lapmidg -L$TOOLS/lib64/" \
|
||||||
|
CXXFLAGS="-fiopenmp -fsycl-unnamed-lambda -fsycl -I$INSTALL/include -Wno-tautological-compare -I$HOME/ -I$TOOLS/include"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user