Skip to content

Commit 8d0ac80

Browse files
committed
Updated chimbuko_config script for most of the non-GPU benchmark_suite codes
Updated include dir Makefile Fixed comment of net base class for worker_idx
1 parent 9910d32 commit 8d0ac80

File tree

11 files changed

+64
-40
lines changed

11 files changed

+64
-40
lines changed

benchmark_suite/c_from_python/chimbuko_config.sh

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ provdb_extra_args="" #any extra command line arguments to pass
2828
provdb_nshards=4 #number of database shards
2929
provdb_ninstances=1 #number of database server instances. Shards are distributed over instances
3030
provdb_engine="ofi+tcp;ofi_rxm" #the OFI libfabric provider used for the Mochi stack
31-
provdb_port=5000 #the port of the provenance database
31+
provdb_port=5000 #the port of the provenance database. For >1 instance the port of instance i will be provdb_port+i
3232
provdb_writedir=chimbuko/provdb #the directory in which the provenance database is written. Chimbuko creates chimbuko/provdb which can be used as a default
3333
provdb_commit_freq=10000 #frequency ms at which the provenance database is committed to disk. If set to 0 it will commit only at the end
3434

@@ -52,15 +52,18 @@ pserver_nt=2 #number of worker threads
5252
####################################
5353
ad_extra_args="-perf_outputpath chimbuko/logs -perf_step 1" #any extra command line arguments to pass. Note: chimbuko/logs is automatically created by services script
5454
ad_win_size=5 #number of events around an anomaly to store; provDB entry size is proportional to this so keep it small!
55-
ad_alg="sstd" #the anomaly detection algorithm. Valid values are "hbos" and "sstd"
55+
ad_alg="hbos" #the anomaly detection algorithm. Valid values are "hbos" and "sstd"
5656
ad_outlier_hbos_threshold=0.99 #the percentile of events outside of which are considered anomalies by the HBOS algorithm
5757
ad_outlier_sstd_sigma=12 #number of standard deviations that defines an outlier in the SSTD algorithm
5858

5959
####################################
6060
#Options for TAU
61+
#Note: Only the TAU_ADIOS2_PATH, TAU_ADIOS2_FILE_PREFIX, EXE_NAME, TAU_ADIOS2_ENGINE and tau_monitoring_conf variables are used by the Chimbuko services script and there only to generate the suggested
62+
# command to launch the AD (output to chimbuko/vars/chimbuko_ad_cmdline.var); they can be overridden by the run script if desired providing the appropriate modifications
63+
# are made to the AD launch command. The remainder of the variables are used only by TAU and can be freely overridden.
6164
####################################
6265
export TAU_ADIOS2_ENGINE=SST #online communication engine (alternative BP4 although this goes through the disk system and may be slower unless the BPfiles are stored on a burst disk)
63-
export TAU_ADIOS2_ONE_FILE=FALSE #a different connetion file for each rank
66+
export TAU_ADIOS2_ONE_FILE=FALSE #a different connection file for each rank
6467
export TAU_ADIOS2_PERIODIC=1 #enable/disable ADIOS2 periodic output
6568
export TAU_ADIOS2_PERIOD=1000000 #period in us between ADIOS2 io steps
6669
export TAU_THREAD_PER_GPU_STREAM=1 #force GPU streams to appear as different TAU virtual threads
@@ -70,10 +73,12 @@ export TAU_MAKEFILE=/opt/tau2/x86_64/lib/Makefile.tau-papi-mpi-pthread-pdt-pytho
7073
TAU_EXEC="tau_exec -T papi,mpi,pthread,pdt,python,adios2 -adios2_trace" #how to execute tau_exec; the -T arguments should mirror the makefile name <------------ ***SET ME***
7174
TAU_PYTHON="tau_python -tau-python-interpreter=python3 -adios2_trace -tau-python-args=-u" #how to execute tau_python. Note that passing -u to python forces it to not buffer stdout so we can pipe it to tee in realtime
7275

76+
tau_monitoring_conf="default" #Provide a configuration file for the TAU monitoring plugin. It will be copied to the work directory as "tau_monitoring.json" (unless it is already there!). If set to default, Chimbuko will generate one automatically
77+
7378
export EXE_NAME=python3.6 #the name of the executable (without path) <------------ ***SET ME***
7479

7580
TAU_ADIOS2_PATH=chimbuko/adios2 #path where the adios2 files are to be stored. Chimbuko services creates the directory chimbuko/adios2 in the working directory and this should be used by default
76-
TAU_ADIOS2_FILE_PREFIX=tau-metrics #the prefix of tau adios2 files; full filename is ${TAU_ADIOS2_PREFIX}-${EXE_NAME}-${RANK}.bp
81+
TAU_ADIOS2_FILE_PREFIX=tau-metrics #the prefix of tau adios2 files; full filename is ${TAU_ADIOS2_PREFIX}-${EXE_NAME}-${RANK}.bp
7782

7883

7984

@@ -94,6 +99,11 @@ TAU_ADIOS2_FILE_PREFIX=tau-metrics #the prefix of tau adios2 files; full filena
9499
export TAU_ADIOS2_FILENAME="${TAU_ADIOS2_PATH}/${TAU_ADIOS2_FILE_PREFIX}"
95100

96101
if [[ ${backend_root} == "infer" ]]; then
102+
if [[ $(which provdb_admin) == "" ]]; then
103+
echo "When inferring the backend root directory, could not find provdb_admin in PATH. Please add your Chimbuko bin directory to PATH"
104+
exit 1
105+
fi
106+
97107
backend_root=$( readlink -f $(which provdb_admin | sed 's/provdb_admin//')/../ )
98108
fi
99109

benchmark_suite/func_multimodal/chimbuko_config.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ provdb_extra_args="" #any extra command line arguments to pass
2828
provdb_nshards=4 #number of database shards
2929
provdb_ninstances=1 #number of database server instances. Shards are distributed over instances
3030
provdb_engine="ofi+tcp;ofi_rxm" #the OFI libfabric provider used for the Mochi stack
31-
provdb_port=5000 #the port of the provenance database
31+
provdb_port=5000 #the port of the provenance database. For >1 instance the port of instance i will be provdb_port+i
3232
provdb_writedir=chimbuko/provdb #the directory in which the provenance database is written. Chimbuko creates chimbuko/provdb which can be used as a default
3333
provdb_commit_freq=10000 #frequency ms at which the provenance database is committed to disk. If set to 0 it will commit only at the end
3434

@@ -56,7 +56,7 @@ ad_outlier_hbos_threshold=0.99 #the percentile of events outside of which are c
5656
ad_outlier_sstd_sigma=12 #number of standard deviations that defines an outlier in the SSTD algorithm
5757
####################################
5858
#Options for TAU
59-
#Note: Only the TAU_ADIOS2_PATH, TAU_ADIOS2_FILE_PREFIX, EXE_NAME and TAU_ADIOS2_ENGINE variables are used by the Chimbuko services script and there only to generate the suggested
59+
#Note: Only the TAU_ADIOS2_PATH, TAU_ADIOS2_FILE_PREFIX, EXE_NAME, TAU_ADIOS2_ENGINE and tau_monitoring_conf variables are used by the Chimbuko services script and there only to generate the suggested
6060
# command to launch the AD (output to chimbuko/vars/chimbuko_ad_cmdline.var); they can be overridden by the run script if desired providing the appropriate modifications
6161
# are made to the AD launch command. The remainder of the variables are used only by TAU and can be freely overridden.
6262
####################################
@@ -67,17 +67,19 @@ export TAU_ADIOS2_PERIOD=1000000 #period in us between ADIOS2 io steps
6767
export TAU_THREAD_PER_GPU_STREAM=1 #force GPU streams to appear as different TAU virtual threads
6868
export TAU_THROTTLE=0 #enable/disable throttling of short-running functions
6969

70-
export TAU_MAKEFILE=/opt/tau2/x86_64/lib/Makefile.tau-papi-mpi-pthread-pdt-adios2 #The TAU makefile to use <------------ ***SET ME***
70+
export TAU_MAKEFILE=/opt/tau2/x86_64/lib/Makefile.tau-papi-mpi-pthread-pdt-adios2 #The TAU makefile to use. If using a TAU installation built by Spack, this variable is already set in the environment and can be commented out here <------------ ***SET ME***
71+
72+
tau_monitoring_conf="default" #Provide a configuration file for the TAU monitoring plugin. It will be copied to the work directory as "tau_monitoring.json" (unless it is already there!). If set to default, Chimbuko will generate one automatically
7173

7274
#Note: the following 2 variables are not used by the service script but are included here for use from the user's run script allowing the application to be launched with either "${TAU_EXEC} <app>" or "${TAU_PYTHON} <app>"
7375
#Note: the "binding" -T ... is used by Tau to find the appropriate configuration. It can typically be inferred from the name of the Makefile. If using a non-MPI job the 'mpi' should be changed to 'serial' and a non-MPI build of
7476
# ADIOS2/TAU must exist
7577
#Suggestion: It is useful to test the command without Chimbuko first to ensure TAU picks up the correct binding; this can be done by 'export TAU_ADIOS2_ENGINE=BPFile' and then running the application with Tau but without Chimbuko.
76-
TAU_EXEC="tau_exec -T papi,mpi,pthread,pdt,adios2 -adios2_trace" #how to execute tau_exec; the -T arguments should mirror the makefile name <------------ ***SET ME***
78+
TAU_EXEC="tau_exec -T papi,mpi,pthread,pdt,adios2 -adios2_trace -monitoring" #how to execute tau_exec; the -T arguments should mirror the makefile name <------------ ***SET ME***
7779
TAU_PYTHON="tau_python -T papi,mpi,pthread,pdt,adios2 -tau-python-interpreter=python3 -adios2_trace -tau-python-args=-u" #how to execute tau_python. Note that passing -u to python forces it to not buffer stdout so we can pipe it
7880
#to tee in realtime <--- SET ME (if !python3)
7981

80-
export EXE_NAME=main #the name of the executable (without path) <------------ ***SET ME***
82+
export EXE_NAME=main #the name of the executable (without path). For multi-component workflows this argument also accepts a list, e.g. (main1 main2) <------------ ***SET ME***
8183

8284
TAU_ADIOS2_PATH=chimbuko/adios2 #path where the adios2 files are to be stored. Chimbuko services creates the directory chimbuko/adios2 in the working directory and this should be used by default
8385
TAU_ADIOS2_FILE_PREFIX=tau-metrics #the prefix of tau adios2 files; full filename is ${TAU_ADIOS2_PREFIX}-${EXE_NAME}-${RANK}.bp

benchmark_suite/mpi_comm_outlier/chimbuko_config.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ provdb_extra_args="" #any extra command line arguments to pass
2828
provdb_nshards=4 #number of database shards
2929
provdb_ninstances=1 #number of database server instances. Shards are distributed over instances
3030
provdb_engine="ofi+tcp;ofi_rxm" #the OFI libfabric provider used for the Mochi stack
31-
provdb_port=5000 #the port of the provenance database
31+
provdb_port=5000 #the port of the provenance database. For >1 instance the port of instance i will be provdb_port+i
3232
provdb_writedir=chimbuko/provdb #the directory in which the provenance database is written. Chimbuko creates chimbuko/provdb which can be used as a default
3333
provdb_commit_freq=10000 #frequency ms at which the provenance database is committed to disk. If set to 0 it will commit only at the end
3434

@@ -56,7 +56,7 @@ ad_outlier_hbos_threshold=0.99 #the percentile of events outside of which are c
5656
ad_outlier_sstd_sigma=12 #number of standard deviations that defines an outlier in the SSTD algorithm
5757
####################################
5858
#Options for TAU
59-
#Note: Only the TAU_ADIOS2_PATH, TAU_ADIOS2_FILE_PREFIX, EXE_NAME and TAU_ADIOS2_ENGINE variables are used by the Chimbuko services script and there only to generate the suggested
59+
#Note: Only the TAU_ADIOS2_PATH, TAU_ADIOS2_FILE_PREFIX, EXE_NAME, TAU_ADIOS2_ENGINE and tau_monitoring_conf variables are used by the Chimbuko services script and there only to generate the suggested
6060
# command to launch the AD (output to chimbuko/vars/chimbuko_ad_cmdline.var); they can be overridden by the run script if desired providing the appropriate modifications
6161
# are made to the AD launch command. The remainder of the variables are used only by TAU and can be freely overridden.
6262
####################################
@@ -67,17 +67,19 @@ export TAU_ADIOS2_PERIOD=1000000 #period in us between ADIOS2 io steps
6767
export TAU_THREAD_PER_GPU_STREAM=1 #force GPU streams to appear as different TAU virtual threads
6868
export TAU_THROTTLE=0 #enable/disable throttling of short-running functions
6969

70-
export TAU_MAKEFILE=/opt/tau2/x86_64/lib/Makefile.tau-papi-mpi-pthread-pdt-adios2 #The TAU makefile to use <------------ ***SET ME***
70+
export TAU_MAKEFILE=/opt/tau2/x86_64/lib/Makefile.tau-papi-mpi-pthread-pdt-adios2 #The TAU makefile to use. If using a TAU installation built by Spack, this variable is already set in the environment and can be commented out here <------------ ***SET ME***
71+
72+
tau_monitoring_conf="default" #Provide a configuration file for the TAU monitoring plugin. It will be copied to the work directory as "tau_monitoring.json" (unless it is already there!). If set to default, Chimbuko will generate one automatically
7173

7274
#Note: the following 2 variables are not used by the service script but are included here for use from the user's run script allowing the application to be launched with either "${TAU_EXEC} <app>" or "${TAU_PYTHON} <app>"
7375
#Note: the "binding" -T ... is used by Tau to find the appropriate configuration. It can typically be inferred from the name of the Makefile. If using a non-MPI job the 'mpi' should be changed to 'serial' and a non-MPI build of
7476
# ADIOS2/TAU must exist
7577
#Suggestion: It is useful to test the command without Chimbuko first to ensure TAU picks up the correct binding; this can be done by 'export TAU_ADIOS2_ENGINE=BPFile' and then running the application with Tau but without Chimbuko.
76-
TAU_EXEC="tau_exec -T papi,mpi,pthread,pdt,adios2 -adios2_trace" #how to execute tau_exec; the -T arguments should mirror the makefile name <------------ ***SET ME***
78+
TAU_EXEC="tau_exec -T papi,mpi,pthread,pdt,adios2 -adios2_trace -monitoring" #how to execute tau_exec; the -T arguments should mirror the makefile name <------------ ***SET ME***
7779
TAU_PYTHON="tau_python -T papi,mpi,pthread,pdt,adios2 -tau-python-interpreter=python3 -adios2_trace -tau-python-args=-u" #how to execute tau_python. Note that passing -u to python forces it to not buffer stdout so we can pipe it
7880
#to tee in realtime <--- SET ME (if !python3)
7981

80-
export EXE_NAME=main #the name of the executable (without path) <------------ ***SET ME***
82+
export EXE_NAME=main #the name of the executable (without path). For multi-component workflows this argument also accepts a list, e.g. (main1 main2) <------------ ***SET ME***
8183

8284
TAU_ADIOS2_PATH=chimbuko/adios2 #path where the adios2 files are to be stored. Chimbuko services creates the directory chimbuko/adios2 in the working directory and this should be used by default
8385
TAU_ADIOS2_FILE_PREFIX=tau-metrics #the prefix of tau adios2 files; full filename is ${TAU_ADIOS2_PREFIX}-${EXE_NAME}-${RANK}.bp

benchmark_suite/mpi_comm_outlier/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22
##################### USER INPUTS #############################
33
ranks=3 #MPI ranks
4-
cycles=10000 #how many loop cycles
4+
cycles=1000 #how many loop cycles
55
base_MB=10 #default size of comm in MB
66
anom_rank=1 #which rank has the anomaly
77
anom_mult=50 #how much larger the data packet is for the anomaly

benchmark_suite/mpi_threaded_comm_outlier/chimbuko_config.sh

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ provdb_extra_args="" #any extra command line arguments to pass
2828
provdb_nshards=4 #number of database shards
2929
provdb_ninstances=1 #number of database server instances. Shards are distributed over instances
3030
provdb_engine="ofi+tcp;ofi_rxm" #the OFI libfabric provider used for the Mochi stack
31-
provdb_port=5000 #the port of the provenance database
31+
provdb_port=5000 #the port of the provenance database. For >1 instance the port of instance i will be provdb_port+i
3232
provdb_writedir=chimbuko/provdb #the directory in which the provenance database is written. Chimbuko creates chimbuko/provdb which can be used as a default
3333
provdb_commit_freq=10000 #frequency ms at which the provenance database is committed to disk. If set to 0 it will commit only at the end
3434

@@ -51,12 +51,12 @@ pserver_nt=2 #number of worker threads
5151
####################################
5252
ad_extra_args="-perf_outputpath chimbuko/logs -perf_step 1" #any extra command line arguments to pass. Note: chimbuko/logs is automatically created by services script
5353
ad_win_size=5 #number of events around an anomaly to store; provDB entry size is proportional to this so keep it small!
54-
ad_alg="sstd" #the anomaly detection algorithm. Valid values are "hbos" and "sstd"
54+
ad_alg="hbos" #the anomaly detection algorithm. Valid values are "hbos" and "sstd"
5555
ad_outlier_hbos_threshold=0.99 #the percentile of events outside of which are considered anomalies by the HBOS algorithm
5656
ad_outlier_sstd_sigma=12 #number of standard deviations that defines an outlier in the SSTD algorithm
5757
####################################
5858
#Options for TAU
59-
#Note: Only the TAU_ADIOS2_PATH, TAU_ADIOS2_FILE_PREFIX, EXE_NAME and TAU_ADIOS2_ENGINE variables are used by the Chimbuko services script and there only to generate the suggested
59+
#Note: Only the TAU_ADIOS2_PATH, TAU_ADIOS2_FILE_PREFIX, EXE_NAME, TAU_ADIOS2_ENGINE and tau_monitoring_conf variables are used by the Chimbuko services script and there only to generate the suggested
6060
# command to launch the AD (output to chimbuko/vars/chimbuko_ad_cmdline.var); they can be overridden by the run script if desired providing the appropriate modifications
6161
# are made to the AD launch command. The remainder of the variables are used only by TAU and can be freely overridden.
6262
####################################
@@ -67,17 +67,19 @@ export TAU_ADIOS2_PERIOD=1000000 #period in us between ADIOS2 io steps
6767
export TAU_THREAD_PER_GPU_STREAM=1 #force GPU streams to appear as different TAU virtual threads
6868
export TAU_THROTTLE=0 #enable/disable throttling of short-running functions
6969

70-
export TAU_MAKEFILE=/opt/tau2/x86_64/lib/Makefile.tau-papi-mpi-pthread-pdt-adios2 #The TAU makefile to use <------------ ***SET ME***
70+
export TAU_MAKEFILE=/opt/tau2/x86_64/lib/Makefile.tau-papi-mpi-pthread-pdt-adios2 #The TAU makefile to use. If using a TAU installation built by Spack, this variable is already set in the environment and can be commented out here <------------ ***SET ME***
71+
72+
tau_monitoring_conf="default" #Provide a configuration file for the TAU monitoring plugin. It will be copied to the work directory as "tau_monitoring.json" (unless it is already there!). If set to default, Chimbuko will generate one automatically
7173

7274
#Note: the following 2 variables are not used by the service script but are included here for use from the user's run script allowing the application to be launched with either "${TAU_EXEC} <app>" or "${TAU_PYTHON} <app>"
7375
#Note: the "binding" -T ... is used by Tau to find the appropriate configuration. It can typically be inferred from the name of the Makefile. If using a non-MPI job the 'mpi' should be changed to 'serial' and a non-MPI build of
7476
# ADIOS2/TAU must exist
7577
#Suggestion: It is useful to test the command without Chimbuko first to ensure TAU picks up the correct binding; this can be done by 'export TAU_ADIOS2_ENGINE=BPFile' and then running the application with Tau but without Chimbuko.
76-
TAU_EXEC="tau_exec -T papi,mpi,pthread,pdt,adios2 -adios2_trace" #how to execute tau_exec; the -T arguments should mirror the makefile name <------------ ***SET ME***
78+
TAU_EXEC="tau_exec -T papi,mpi,pthread,pdt,adios2 -adios2_trace -monitoring" #how to execute tau_exec; the -T arguments should mirror the makefile name <------------ ***SET ME***
7779
TAU_PYTHON="tau_python -T papi,mpi,pthread,pdt,adios2 -tau-python-interpreter=python3 -adios2_trace -tau-python-args=-u" #how to execute tau_python. Note that passing -u to python forces it to not buffer stdout so we can pipe it
7880
#to tee in realtime <--- SET ME (if !python3)
7981

80-
export EXE_NAME=main #the name of the executable (without path) <------------ ***SET ME***
82+
export EXE_NAME=main #the name of the executable (without path). For multi-component workflows this argument also accepts a list, e.g. (main1 main2) <------------ ***SET ME***
8183

8284
TAU_ADIOS2_PATH=chimbuko/adios2 #path where the adios2 files are to be stored. Chimbuko services creates the directory chimbuko/adios2 in the working directory and this should be used by default
8385
TAU_ADIOS2_FILE_PREFIX=tau-metrics #the prefix of tau adios2 files; full filename is ${TAU_ADIOS2_PREFIX}-${EXE_NAME}-${RANK}.bp

0 commit comments

Comments
 (0)