|
| 1 | +#Note: This configuration file is sourced into the bash environment for Chimbuko startup scripts, thus the user must follow correct shell conventions |
| 2 | +#Please do not remove any of the variables! |
| 3 | + |
| 4 | +#IMPORTANT NOTE: Variables that cannot be left as default are marked as <------------ ***SET ME*** |
| 5 | +export MARGO_ENABLE_PROFILING=1 |
| 6 | +export HG_NA_LOG_LEVEL=error |
| 7 | +export HG_LOG_LEVEL=debug |
| 8 | + |
| 9 | +service_node_iface=eth0 #network interface upon which communication to the service node is performed <------------ ***SET ME*** |
| 10 | + |
| 11 | +#################################### |
| 12 | +#Options for visualization module |
| 13 | +#################################### |
| 14 | +use_viz=0 #enable or disable the visualization |
| 15 | +viz_root=/opt/chimbuko/viz #the root directory of the visualization module <------------ ***SET ME (if using viz)*** |
| 16 | +viz_worker_port=6379 #the port on which to run the redis server for the visualization backend |
| 17 | +viz_port=5002 #the port on which to run the webserver |
| 18 | +export C_FORCE_ROOT=1 #required only for docker runs, allows celery to execute properly as root user <----------------- *** SET ME (if using Docker) |
| 19 | + |
| 20 | +############################################################ |
| 21 | +#General options for Chimbuko backend (pserver, ad, provdb) |
| 22 | +############################################################ |
| 23 | +backend_root="infer" #The root install directory of the PerformanceAnalysis libraries. If set to "infer" it will be inferred from the path of the executables |
| 24 | + |
| 25 | +#################################### |
| 26 | +#Options for the provenance database |
| 27 | +#################################### |
| 28 | +use_provdb=1 #enable or disable the provDB. If disabled the provenance data will be written as JSON ASCII into the ${provdb_writedir} set below |
| 29 | +provdb_extra_args="" |
| 30 | +provdb_nshards=4 #number of database shards |
| 31 | +provdb_engine="ofi+tcp;ofi_rxm" #the OFI libfabric provider used for the Mochi stack |
| 32 | +provdb_port=5000 #the port of the provenance database |
| 33 | +provdb_nthreads=4 #number of worker threads; should be >= the number of shards |
| 34 | +provdb_writedir=chimbuko/provdb #the directory in which the provenance database is written. Chimbuko creates chimbuko/provdb which can be used as a default |
| 35 | +provdb_commit_freq=10000 |
| 36 | + |
| 37 | +#With "verbs" provider (used for infiniband, iWarp, etc) we need to also specify the domain, which can be found by running fi_info (on a compute node) |
| 38 | +provdb_domain=mlx5_0 #only needed for verbs provider <------------ ***SET ME (if using verbs)*** |
| 39 | + |
| 40 | + |
| 41 | +#################################### |
| 42 | +#Options for the parameter server |
| 43 | +#################################### |
| 44 | +use_pserver=0 #enable or disable the pserver |
| 45 | +pserver_extra_args="-stat_outputdir chimbuko/viz" #any extra command line arguments to pass |
| 46 | +pserver_port=5559 #port for parameter server |
| 47 | +pserver_nt=2 #number of worker threads |
| 48 | + |
| 49 | +#################################### |
| 50 | +#Options for the AD module |
| 51 | +#################################### |
| 52 | +ad_extra_args="-perf_outputpath chimbuko/logs -perf_step 1" #any extra command line arguments to pass. chimbuko/logs is automatically created by services script |
| 53 | +ad_win_size=5 #number of events around an anomaly to store; provDB entry size is proportional to this |
| 54 | +ad_alg="hbos" #the anomaly detection algorithm. Valid values are "hbos" and "sstd" |
| 55 | +ad_outlier_hbos_threshold=0.99 #the percentile of events outside of which are considered anomalies by the HBOS algorithm |
| 56 | +ad_outlier_sstd_sigma=12 #number of standard deviations that defines an outlier in the SSTD algorithm |
| 57 | + |
| 58 | +#################################### |
| 59 | +#Options for TAU |
| 60 | +#################################### |
| 61 | +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) |
| 62 | +export TAU_ADIOS2_ONE_FILE=FALSE #a different connetion file for each rank |
| 63 | +export TAU_ADIOS2_PERIODIC=1 #enable/disable ADIOS2 periodic output |
| 64 | +export TAU_ADIOS2_PERIOD=1000000 #period in us between ADIOS2 io steps |
| 65 | +export TAU_THREAD_PER_GPU_STREAM=1 #force GPU streams to appear as different TAU virtual threads |
| 66 | +export TAU_THROTTLE=0 #enable/disable throttling of short-running functions |
| 67 | + |
| 68 | +export TAU_MAKEFILE=/opt/tau2/x86_64/lib/Makefile.tau-papi-mpi-pthread-pdt-adios2 #The TAU makefile to use <------------ ***SET ME*** |
| 69 | +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*** |
| 70 | + |
| 71 | +export EXE_NAME=main #the name of the executable (without path) <------------ ***SET ME*** |
| 72 | + |
| 73 | +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 |
| 74 | +TAU_ADIOS2_FILE_PREFIX=tau-metrics #the prefix of tau adios2 files; full filename is ${TAU_ADIOS2_PREFIX}-${EXE_NAME}-${RANK}.bp |
| 75 | + |
| 76 | + |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | + |
| 81 | + |
| 82 | + |
| 83 | + |
| 84 | + |
| 85 | + |
| 86 | + |
| 87 | + |
| 88 | +########################################################################### |
| 89 | +# NON-USER VARIABLES BELOW = DON'T MODIFY THESE!! |
| 90 | +########################################################################### |
| 91 | +#Extra processing |
| 92 | +export TAU_ADIOS2_FILENAME="${TAU_ADIOS2_PATH}/${TAU_ADIOS2_FILE_PREFIX}" |
| 93 | + |
| 94 | +if [[ ${backend_root} == "infer" ]]; then |
| 95 | + backend_root=$( readlink -f $(which provdb_admin | sed 's/provdb_admin//')/../ ) |
| 96 | + |
| 97 | + #Check run script exists |
| 98 | + if [ ! -f "${backend_root}/scripts/launch/run_services.sh" ]; then |
| 99 | + echo "Could not infer backend root directory: service script does not exist!" |
| 100 | + exit 1 |
| 101 | + fi |
| 102 | +fi |
| 103 | + |
0 commit comments