mirror of
https://github.com/paboyle/Grid.git
synced 2025-06-23 10:12:02 +01:00
Compare commits
2 Commits
b0f4eee78b
...
bb5c16b97f
Author | SHA1 | Date | |
---|---|---|---|
bb5c16b97f | |||
0d80eeb545 |
@ -80,6 +80,17 @@ struct DDHMCFilter: public MomentumFilterBase<GaugeField>
|
|||||||
U_mu = where(mod(coor,B1)==Integer(B1-3),zzz_mu,U_mu);
|
U_mu = where(mod(coor,B1)==Integer(B1-3),zzz_mu,U_mu);
|
||||||
PokeIndex<LorentzIndex>(U, U_mu, mu);
|
PokeIndex<LorentzIndex>(U, U_mu, mu);
|
||||||
}
|
}
|
||||||
|
if ( Width==3) {
|
||||||
|
U = where(mod(coor,B1)==Integer(B1-3),zzz,U);
|
||||||
|
U = where(mod(coor,B1)==Integer(B1-2),zzz,U);
|
||||||
|
U = where(mod(coor,B1)==Integer(B1-1),zzz,U);
|
||||||
|
U = where(mod(coor,B1)==Integer(0) ,zzz,U);
|
||||||
|
U = where(mod(coor,B1)==Integer(1) ,zzz,U);
|
||||||
|
U = where(mod(coor,B1)==Integer(2) ,zzz,U);
|
||||||
|
auto U_mu = PeekIndex<LorentzIndex>(U,mu);
|
||||||
|
U_mu = where(mod(coor,B1)==Integer(B1-4),zzz_mu,U_mu);
|
||||||
|
PokeIndex<LorentzIndex>(U, U_mu, mu);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -50,16 +50,16 @@ int main(int argc, char **argv) {
|
|||||||
// MD.name = std::string("Force Gradient");
|
// MD.name = std::string("Force Gradient");
|
||||||
typedef GenericHMCRunner<MinimumNorm2> HMCWrapper;
|
typedef GenericHMCRunner<MinimumNorm2> HMCWrapper;
|
||||||
MD.name = std::string("MinimumNorm2");
|
MD.name = std::string("MinimumNorm2");
|
||||||
MD.MDsteps = 10;
|
MD.MDsteps = 4;
|
||||||
MD.trajL = 1.0;
|
MD.trajL = 1.0;
|
||||||
|
|
||||||
HMCparameters HMCparams;
|
HMCparameters HMCparams;
|
||||||
HMCparams.StartTrajectory = 0;
|
HMCparams.StartTrajectory = 8;
|
||||||
HMCparams.Trajectories = 200;
|
HMCparams.Trajectories = 200;
|
||||||
HMCparams.NoMetropolisUntil= 0;
|
HMCparams.NoMetropolisUntil= 0;
|
||||||
// "[HotStart, ColdStart, TepidStart, CheckpointStart]\n";
|
// "[HotStart, ColdStart, TepidStart, CheckpointStart]\n";
|
||||||
HMCparams.StartingType =std::string("ColdStart");
|
// HMCparams.StartingType =std::string("ColdStart");
|
||||||
// HMCparams.StartingType =std::string("CheckpointStart");
|
HMCparams.StartingType =std::string("CheckpointStart");
|
||||||
HMCparams.MD = MD;
|
HMCparams.MD = MD;
|
||||||
HMCWrapper TheHMC(HMCparams);
|
HMCWrapper TheHMC(HMCparams);
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ int main(int argc, char **argv) {
|
|||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
ActionLevel<HMCWrapper::Field> Level1(1);
|
ActionLevel<HMCWrapper::Field> Level1(1);
|
||||||
ActionLevel<HMCWrapper::Field> Level2(2);
|
ActionLevel<HMCWrapper::Field> Level2(2);
|
||||||
ActionLevel<HMCWrapper::Field> Level3(4);
|
ActionLevel<HMCWrapper::Field> Level3(8);
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Strange action
|
// Strange action
|
||||||
|
@ -3,28 +3,28 @@
|
|||||||
#SBATCH -A LGT104
|
#SBATCH -A LGT104
|
||||||
#SBATCH -t 01:00:00
|
#SBATCH -t 01:00:00
|
||||||
##SBATCH -U openmpThu
|
##SBATCH -U openmpThu
|
||||||
##SBATCH -p ecp
|
|
||||||
#SBATCH -J DWF
|
#SBATCH -J DWF
|
||||||
#SBATCH -o DWF.%J
|
#SBATCH -o DWF.%J
|
||||||
#SBATCH -e DWF.%J
|
#SBATCH -e DWF.%J
|
||||||
#SBATCH -N 1
|
#SBATCH -N 1
|
||||||
#SBATCH -n 1
|
#SBATCH -n 8
|
||||||
#SBATCH --exclusive
|
#SBATCH --exclusive
|
||||||
|
#SBATCH --gpu-bind=map_gpu:0,1,2,3,7,6,5,4
|
||||||
|
|
||||||
DIR=.
|
DIR=.
|
||||||
module list
|
module list
|
||||||
#export MPIR_CVAR_GPU_EAGER_DEVICE_MEM=0
|
export MPIR_CVAR_GPU_EAGER_DEVICE_MEM=0
|
||||||
export MPICH_GPU_SUPPORT_ENABLED=1
|
export MPICH_GPU_SUPPORT_ENABLED=1
|
||||||
export MPICH_SMP_SINGLE_COPY_MODE=XPMEM
|
#export MPICH_SMP_SINGLE_COPY_MODE=XPMEM
|
||||||
#export MPICH_SMP_SINGLE_COPY_MODE=NONE
|
export MPICH_SMP_SINGLE_COPY_MODE=NONE
|
||||||
#export MPICH_SMP_SINGLE_COPY_MODE=CMA
|
#export MPICH_SMP_SINGLE_COPY_MODE=CMA
|
||||||
export OMP_NUM_THREADS=1
|
export OMP_NUM_THREADS=1
|
||||||
|
|
||||||
AT=8
|
|
||||||
echo MPICH_SMP_SINGLE_COPY_MODE $MPICH_SMP_SINGLE_COPY_MODE
|
echo MPICH_SMP_SINGLE_COPY_MODE $MPICH_SMP_SINGLE_COPY_MODE
|
||||||
|
|
||||||
PARAMS=" --accelerator-threads ${AT} --grid 24.24.24.24 --shm-mpi 0 --mpi 1.1.1.1"
|
PARAMS=" --accelerator-threads 16 --grid 32.32.32.256 --mpi 1.1.1.8 --comms-overlap --shm 2048 --shm-mpi 0"
|
||||||
|
echo $PARAMS
|
||||||
srun --gpus-per-task 1 -n1 ./benchmarks/Benchmark_dwf_fp32 $PARAMS
|
srun --gpus-per-task 1 -n8 ./benchmarks/Benchmark_dwf_fp32 $PARAMS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,22 +6,43 @@
|
|||||||
#SBATCH -J DWF
|
#SBATCH -J DWF
|
||||||
#SBATCH -o DWF.%J
|
#SBATCH -o DWF.%J
|
||||||
#SBATCH -e DWF.%J
|
#SBATCH -e DWF.%J
|
||||||
#SBATCH -N 1
|
#SBATCH -N 8
|
||||||
#SBATCH -n 8
|
#SBATCH -n 64
|
||||||
#SBATCH --exclusive
|
#SBATCH --exclusive
|
||||||
|
#SBATCH --gpu-bind=map_gpu:0,1,2,3,7,6,5,4
|
||||||
|
|
||||||
DIR=.
|
DIR=.
|
||||||
module list
|
module list
|
||||||
|
export MPICH_OFI_NIC_POLICY=GPU
|
||||||
export MPIR_CVAR_GPU_EAGER_DEVICE_MEM=0
|
export MPIR_CVAR_GPU_EAGER_DEVICE_MEM=0
|
||||||
export MPICH_GPU_SUPPORT_ENABLED=1
|
export MPICH_GPU_SUPPORT_ENABLED=1
|
||||||
export MPICH_SMP_SINGLE_COPY_MODE=XPMEM
|
#export MPICH_SMP_SINGLE_COPY_MODE=XPMEM
|
||||||
#export MPICH_SMP_SINGLE_COPY_MODE=NONE
|
|
||||||
#export MPICH_SMP_SINGLE_COPY_MODE=CMA
|
#export MPICH_SMP_SINGLE_COPY_MODE=CMA
|
||||||
|
export MPICH_SMP_SINGLE_COPY_MODE=NONE
|
||||||
export OMP_NUM_THREADS=1
|
export OMP_NUM_THREADS=1
|
||||||
|
|
||||||
echo MPICH_SMP_SINGLE_COPY_MODE $MPICH_SMP_SINGLE_COPY_MODE
|
echo MPICH_SMP_SINGLE_COPY_MODE $MPICH_SMP_SINGLE_COPY_MODE
|
||||||
PARAMS=" --accelerator-threads 8 --grid 32.64.64.64 --mpi 1.2.2.2 --comms-overlap --shm 2048 --shm-mpi 0"
|
|
||||||
|
|
||||||
srun --gpus-per-task 1 -n8 ./mpiwrapper.sh ./benchmarks/Benchmark_dwf_fp32 $PARAMS
|
PARAMS=" --accelerator-threads 16 --grid 64.64.64.256 --mpi 2.2.2.8 --comms-overlap --shm 2048 --shm-mpi 0"
|
||||||
|
echo $PARAMS
|
||||||
|
#srun --gpus-per-task 1 -N8 -n64 ./benchmarks/Benchmark_dwf_fp32 $PARAMS > dwf.64.64.64.256.8node
|
||||||
|
|
||||||
|
|
||||||
|
PARAMS=" --accelerator-threads 16 --grid 64.64.64.32 --mpi 4.4.4.1 --comms-overlap --shm 2048 --shm-mpi 1"
|
||||||
|
echo $PARAMS
|
||||||
|
srun --gpus-per-task 1 -N8 -n64 ./benchmarks/Benchmark_dwf_fp32 $PARAMS > dwf.64.64.64.32.8node
|
||||||
|
|
||||||
|
PARAMS=" --accelerator-threads 16 --grid 64.64.64.32 --mpi 4.4.4.1 --comms-overlap --shm 2048 --shm-mpi 0"
|
||||||
|
echo $PARAMS
|
||||||
|
#srun --gpus-per-task 1 -N8 -n64 ./benchmarks/Benchmark_dwf_fp32 $PARAMS > dwf.64.64.64.32.8node.shm0
|
||||||
|
|
||||||
|
PARAMS=" --accelerator-threads 16 --grid 64.64.64.32 --mpi 2.2.2.8 --comms-overlap --shm 2048 --shm-mpi 1"
|
||||||
|
echo $PARAMS
|
||||||
|
#srun --gpus-per-task 1 -N8 -n64 ./benchmarks/Benchmark_ITT $PARAMS > itt.8node
|
||||||
|
|
||||||
|
PARAMS=" --accelerator-threads 16 --grid 64.64.64.32 --mpi 2.2.2.8 --comms-overlap --shm 2048 --shm-mpi 0"
|
||||||
|
echo $PARAMS
|
||||||
|
#srun --gpus-per-task 1 -N8 -n64 ./benchmarks/Benchmark_ITT $PARAMS > itt.8node_shm0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
lrank=$SLURM_LOCALID
|
lrank=$SLURM_LOCALID
|
||||||
|
lgpu=(0 1 2 3 7 6 5 4)
|
||||||
|
|
||||||
export ROCR_VISIBLE_DEVICES=$SLURM_LOCALID
|
export ROCR_VISIBLE_DEVICES=${lgpu[$lrank]}
|
||||||
|
|
||||||
echo "`hostname` - $lrank device=$ROCR_VISIBLE_DEVICES binding=$BINDING"
|
echo "`hostname` - $lrank device=$ROCR_VISIBLE_DEVICES "
|
||||||
|
|
||||||
$*
|
$*
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user