You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- **TAU_MAKEFILE=${PATH_TO_TAU_MAKEFILE}** : Ensure the Makefile is one that supports ADIOS2; these contain "adios2" in the filename
9
+
- **TAU_ADIOS2_PERIODIC=1** : This tells Tau to use stepped IO
10
+
- **TAU_ADIOS2_PERIOD=${PERIOD}** : This is the period in microseconds(?) between IO steps. A value of **PERIOD=100000** is a common choice, but a larger value may be necessary if Chimbuko is not able to keep pace with the data flow.
11
+
- **TAU_ADIOS2_ENGINE=SST** : The engine should be SST for an online analysis in which Chimbuko and the application are running simultaneously. Chimbuko also supports offline analysis whereby an application is run without Chimbuko and the engine is set to **BPfile**.
12
+
- **TAU_ADIOS2_FILENAME=${STUB}** : Here ${STUB} becomes the first component of the ADIOS2 filename, eg for "${STUB}=tau-metrics" and an application "main", the filename will be "tau-metrics-main". This filename is needed to start Chimbuko; in online mode the file exists only temporarily and is used to instantiate the communication, whereas for offline mode the filename becomes the location where the trace dump is written.
- **${VIZ_PORT}** : The port to assign to the visualization module
9
+
- **${VIZ_DATA_DIR}**: A directory for storing logs and temporary data (assumed to exist)
10
+
- **${VIZ_INSTALL_DIR}**: The directory where the visualization module is installed
11
+
12
+
Parameter Server Variables
13
+
~~~~~~~~~~~~~~~~~~~~~~~~~~
14
+
15
+
- **PSERVER_NT** : The number of threads used to handle incoming communications from the AD modules
16
+
- **PSERVER_LOGDIR** : A directory for logging output
17
+
- **VIZ_ADDRESS** : Address of the visualization module (see above).
18
+
- **PROVDB_ADDR**: The address of the provenance database (see above). This option enables the storing of the final globally-aggregated function profile information into the provenance database.
19
+
- **PSERVER_ALG** : Set AD algorithm to use for online analysis: "sstd" or "hbos". Default value is "hbos".
20
+
21
+
Note that all the above are optional arguments, although if the **VIZ_ADDRESS** is not provided, no information will be sent to the webserver.
22
+
23
+
AD Variables
24
+
~~~~~~~~~~~~
25
+
26
+
- **RANKS** : The number of MPI ranks that the application will be run on
27
+
- **ADIOS2_ENGINE** : The ADIOS2 communications engine. For online analysis this should be **SST** by default (an alternative, **BP4** is discussed below)
28
+
- **ADIOS2_FILE_DIR** : The directory in which the ADIOS2 file is written (see below)
29
+
- **ADIOS2_FILE_PREFIX** : The ADIOS2 file prefix (see below)
30
+
- **PSERVER_ADDR**: The address of the parameter server from above.
31
+
- **PROVDB_ADDR**: The address of the provenance database from above.
32
+
- **NSHARDS**: The number of provenance database shards
33
+
34
+
Additional AD Variables
35
+
~~~~~~~~~~~~~~~~~~~~~~~
36
+
37
+
- **-prov_outputpath** : The directory in which the provenance data will be output. This can be used in place of or in conjunction with the provenance database. An empty string (default) disables this output.
38
+
- **-outlier_sigma** : The number of standard deviations from the mean function execution time outside which the execution is considered anomalous (default 6)
39
+
- **-anom_win_size** : The number of events around an anomalous function execution that are captured as contextual information and placed in the provenance database and displayed in the visualization (default 10)
40
+
- **-program_idx** : For workflows with multiple component programs, a "program index" must be supplied to the AD instances attached to those processes.
41
+
- **-rank** : By default the data rank assigned to an AD instance is taken from its MPI rank in MPI_COMM_WORLD. This rank is used to verify the incoming trace data. This option allows the user to manually set the rank index.
42
+
- **-override_rank** : This option disables the data rank verification and instead overwrites the data rank of the incoming trace data with the data rank stored in the AD instance. The value supplied must be the original data rank (this is used to generate the correct trace filename).
43
+
- **-ad_algorithm** : This is an option which sets AD algorithm to use for online analysis: "sstd" or "hbos". Default value is "hbos".
44
+
- **-hbos_threshold** : This is the threshold to control density of detected anomalies used by HBOS algorithm. Its value ranges between 0 and 1. Default value is 0.99
Copy file name to clipboardExpand all lines: sphinx/source/install_usage/install.rst
+14-38Lines changed: 14 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,7 @@
2
2
Installation
3
3
************
4
4
5
-
For x86 systems we provide pre-built docker images users can quickly start
6
-
with thier own TAU instrumented applications (See `Chimbuko docker <https://codarcode.github.io/Chimbuko/installation/docker.html>`_) .
7
-
8
-
Otherwise, first, download (or clone) **Chimbuko** AD module.
5
+
For x86 systems we provide pre-built docker images users can quickly start with their own TAU instrumented applications (See `Chimbuko docker <https://codarcode.github.io/Chimbuko/installation/docker.html>`_). Otherwise, first, download (or clone) **Chimbuko** AD module.
9
6
10
7
.. code:: bash
11
8
@@ -42,20 +39,12 @@ If libfabric is pre-installed on the user's system it should be indicated to Spa
42
39
43
40
spack load mochi-sonata
44
41
45
-
To build test cases, users need to install gtest.
46
-
47
-
.. code:: bash
48
-
49
-
apt-get install libgtest-dev
50
-
cd /usr/src/gtest
51
-
cmake CMakelists.txt
52
-
make
53
-
cp *.a /usr/lib
42
+
To build test cases, users need to install gtest. See Instructions to installs gtest `here <../appendix/appendix_install.html>`_.
54
43
55
44
Finally, to build the AD module
56
45
57
46
.. code:: bash
58
-
47
+
59
48
cd${AD_SOURCE_DIR}
60
49
./autogen.sh
61
50
cd${AD_BUILD_DIR}
@@ -64,10 +53,10 @@ Finally, to build the AD module
64
53
65
54
Here **--with-perf-metric** is an optional flag that enables generation of performance information of Chimbuko. The ZMQ network is the only one presently supported; an MPI network is maintained for legacy purposes and is not recommended for use. Assuming Sonata is installed and the mochi-sonata spack module loaded, the configure script will automatically detect the installation and will build the provenance database.
66
55
67
-
Once installed the unit and integration tests can be run as:
56
+
Once installed the unit and integration tests can be run as:
68
57
69
58
.. code:: bash
70
-
59
+
71
60
cd${AD_INSTALL_DIR}/test
72
61
./run_all.sh
73
62
@@ -79,18 +68,14 @@ Summit
79
68
Prior to building anything the user should ensure to load the required modules:
80
69
81
70
.. code:: bash
82
-
71
+
83
72
source${AD_SOURCE_DIR}/env.summit.sh
84
73
85
74
..
86
-
We provide :download:`an installation script<files/install_adios2.sh>` for ADIOS2_,
87
-
if the latest version is not availale on Summit.
88
-
89
-
A build of ADIOS2 that has been tested as compatible with Chimbuko can be found here
75
+
We provide :download:`an installation script<files/install_adios2.sh>` for ADIOS2_,
A build of ADIOS2 that has been tested as compatible with Chimbuko can be found `here <../appendix/appendix_install.html#ADIOS2-build>`_.
94
79
95
80
The process for building Sonata_ is somewhat more complicated on Summit. The Mochi developers recommend using a Spack environment that can be setup as follows:
96
81
@@ -109,29 +94,20 @@ Then:
109
94
spack env create mochi summit_spack.yaml
110
95
spack env activate mochi
111
96
spack install
112
-
97
+
113
98
The user must henceforth ensure to activate the **mochi** environment prior to building and using Chimbuko as follows:
114
99
115
100
.. code:: bash
116
101
117
102
spack env activate mochi
118
103
spack load mochi-sonata
119
104
120
-
GoogleTest_ is not installed by default on Summit, hence we must install it as follows:
GoogleTest_ is not installed by default on Summit, hence we must install it as described `here <../appendix/appendix_install.html#googletest-on-summit>`_.
Copy file name to clipboardExpand all lines: sphinx/source/install_usage/instrumenting.rst
+5-11Lines changed: 5 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,13 +6,7 @@ In this section we briefly describe how to instrument an application with Tau. F
6
6
7
7
The communication between Tau and Chimbuko's AD module is performed using Tau's ADIOS2 plugin. The communication is performed in batches known as *IO steps* or *IO frames*. During an IO step Tau collects data which is communicated to Chimbuko at the end of the step.
8
8
9
-
In order to enable the ADIOS2 plugin Tau must be compiled with the **-adios** compile option, pointing to the ADIOS2 install directory. The user must set the following environment variables:
10
-
11
-
- **TAU_MAKEFILE=${PATH_TO_TAU_MAKEFILE}** : Ensure the Makefile is one that supports ADIOS2; these contain "adios2" in the filename
12
-
- **TAU_ADIOS2_PERIODIC=1** : This tells Tau to use stepped IO
13
-
- **TAU_ADIOS2_PERIOD=${PERIOD}** : This is the period in microseconds(?) between IO steps. A value of **PERIOD=100000** is a common choice, but a larger value may be necessary if Chimbuko is not able to keep pace with the data flow.
14
-
- **TAU_ADIOS2_ENGINE=SST** : The engine should be SST for an online analysis in which Chimbuko and the application are running simultaneously. Chimbuko also supports offline analysis whereby an application is run without Chimbuko and the engine is set to **BPfile**.
15
-
- **TAU_ADIOS2_FILENAME=${STUB}** : Here ${STUB} becomes the first component of the ADIOS2 filename, eg for "${STUB}=tau-metrics" and an application "main", the filename will be "tau-metrics-main". This filename is needed to start Chimbuko; in online mode the file exists only temporarily and is used to instantiate the communication, whereas for offline mode the filename becomes the location where the trace dump is written.
9
+
In order to enable the ADIOS2 plugin Tau must be compiled with the **-adios** compile option, pointing to the ADIOS2 install directory. The user must set a few environment variables as `described here <../appendix/appendix_instrument_with_tau.html#environment-variables-tau>`_.
16
10
17
11
How Tau is used depends on the language in which the application is written. Below we describe how to instrument applications written in several common languages.
18
12
@@ -40,7 +34,7 @@ Calls to the GPU via CUDA are instrumented through CUDA's CUPTI performance API
The C++ components of the application should be compiled as in the previous section. In the special case of mixed C++/CUDA code, for which the user desires to instrument also the C++ component, the CUDA compiler first separates the CUDA and C++ code and passes the components to their corresponding compilers. We must therefore specify to the CUDA compiler that it should use the **tau_cxx.sh** compiler wrapper as its C++ compiler, thus:
@@ -51,9 +45,9 @@ For example
51
45
52
46
nvcc -ccbin tau_cxx.sh -x cu code.cc
53
47
54
-
Here the **-x cu** option ensures that the compiler treats the file as CUDA/C++ and ignores the extension. Note that options passed to the C++ compiler should be prefixed with **-Xcompiler** (for more information see the CUDA compiler documentation).
48
+
Here the **-x cu** option ensures that the compiler treats the file as CUDA/C++ and ignores the extension. Note that options passed to the C++ compiler should be prefixed with **-Xcompiler** (for more information see the CUDA compiler documentation).
49
+
55
50
56
-
57
51
Python
58
52
~~~~~~
59
53
@@ -62,7 +56,7 @@ As an interpreted language, Python applications must be wrapped by Tau's Python
Note that the ADIOS2 filename required by Chimbuko will be set not to the application name but to the name of the python interpreter, e.g. for **TAU_ADIOS2_FILENAME=tau-metrics** and using python3.6, the filename will be "tau-metrics-python3.6".
0 commit comments