Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimizations for Frontier Streaming template and for KelvinHelmholtz Streaming configs #4790

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions etc/picongpu/frontier-ornl/batch_pipe.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,24 @@ export MPICH_OFI_NIC_POLICY=NUMA # The default
# Default is 3 minutes.
export PMI_MMAP_SYNC_WAIT_TIME=600


# Create a little launch script to set some rank-specific environment variables
cat << EOF > ./tmp.sh
#!/usr/bin/env bash

# https://docs.olcf.ornl.gov/_images/Frontier_Node_Diagram.jpg
# Each PIConGPU instance runs on one L3 cache group
devices=(cxi2 cxi2 cxi1 cxi1 cxi3 cxi3 cxi0 cxi0)
index_within_node=\$(( PMI_RANK % 8 ))
export FABRIC_IFACE="\${devices[\$index_within_node]}"

"\$@"
EOF

chmod +x ./tmp.sh
sbcast ./tmp.sh /mnt/bb/$USER/sync_bins/launch.sh
rm ./tmp.sh

if [ $node_check_err -eq 0 ] || [ $run_cuda_memtest -eq 0 ] ; then
# Run PIConGPU
echo "Start PIConGPU."
Expand All @@ -287,7 +305,7 @@ if [ $node_check_err -eq 0 ] || [ $run_cuda_memtest -eq 0 ] ; then
# (first core in each L3 cache group)
mask="0x101010101010101"

srun \
srun -l \
--ntasks !TBG_nodes \
--nodes !TBG_nodes \
$exclude_nodes \
Expand All @@ -296,6 +314,7 @@ if [ $node_check_err -eq 0 ] || [ $run_cuda_memtest -eq 0 ] ; then
--cpus-per-task=!TBG_coresPerPipeInstance \
--cpu-bind=verbose,mask_cpu:$mask \
--network=single_node_vni,job_vni \
/mnt/bb/$USER/sync_bins/launch.sh \
/mnt/bb/$USER/sync_bins/python \
`which openpmd-pipe` \
--infile "!TBG_streamdir" \
Expand All @@ -313,7 +332,7 @@ if [ $node_check_err -eq 0 ] || [ $run_cuda_memtest -eq 0 ] ; then
# Corresponds to cores 1-8 (exclude first core) in each L3 cache group
mask=0xfe,0xfe00,0xfe0000,0xfe000000,0xfe00000000,0xfe0000000000,0xfe000000000000,0xfe00000000000000

srun \
srun -l \
--overlap \
--ntasks !TBG_tasks \
--nodes=!TBG_nodes \
Expand All @@ -324,6 +343,7 @@ if [ $node_check_err -eq 0 ] || [ $run_cuda_memtest -eq 0 ] ; then
--cpu-bind=verbose,mask_cpu:$mask \
--network=single_node_vni,job_vni \
-K1 \
/mnt/bb/$USER/sync_bins/launch.sh \
/mnt/bb/$USER/sync_bins/picongpu \
!TBG_author \
!TBG_programParams \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ TBG_PIC_config="\
\"iteration_encoding\": \"variable_based\", \
\"adios2\": { \
\"use_group_table\": true, \
\"attribute_writing_ranks\": 0, \
\"engine\": { \
\"parameters\": { \
\"QueueLimit\": \"1\", \
Expand Down Expand Up @@ -118,6 +119,7 @@ TBG_inconfig_pipe="\
TBG_outconfig_pipe="\
{ \
\"adios2\": { \
\"attribute_writing_ranks\": 0, \
\"engine\": { \
\"usesteps\": true, \
\"type\": \"nullcore\", \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ TBG_PIC_config="\
\"iteration_encoding\": \"variable_based\", \
\"adios2\": { \
\"use_group_table\": true, \
\"attribute_writing_ranks\": 0, \
\"engine\": { \
\"parameters\": { \
\"QueueLimit\": \"1\", \
Expand Down Expand Up @@ -113,6 +114,7 @@ TBG_inconfig_pipe="\
TBG_outconfig_pipe="\
{ \
\"adios2\": { \
\"attribute_writing_ranks\": 0, \
\"engine\": { \
\"usesteps\": true, \
\"type\": \"nullcore\", \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ TBG_PIC_config="\
\"iteration_encoding\": \"variable_based\", \
\"adios2\": { \
\"use_group_table\": true, \
\"attribute_writing_ranks\": 0, \
\"engine\": { \
\"parameters\": { \
\"QueueLimit\": \"1\", \
Expand Down Expand Up @@ -118,6 +119,7 @@ TBG_inconfig_pipe="\
TBG_outconfig_pipe="\
{ \
\"adios2\": { \
\"attribute_writing_ranks\": 0, \
\"engine\": { \
\"usesteps\": true, \
\"type\": \"nullcore\", \
Expand Down