| ... | @@ -15,10 +15,10 @@ In order to be able to perform source instrumentation using Tau, the [PDT](https |
... | @@ -15,10 +15,10 @@ In order to be able to perform source instrumentation using Tau, the [PDT](https |
|
|
### Download:
|
|
### Download:
|
|
|
|
|
|
|
|
- Salt: `git clone --recursive https://github.com/ParaToolsInc/salt.git`
|
|
- Salt: `git clone --recursive https://github.com/ParaToolsInc/salt.git`
|
|
|
- PDT: [http://tau.uoregon.edu/pdt.tgz ](http://tau.uoregon.edu/pdt.tgz)
|
|
- PDT: http://tau.uoregon.edu/pdt.tgz
|
|
|
- Score-P: [https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-8.4/scorep-8.4.tar.gz](https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-8.4/scorep-8.4.tar.gz)
|
|
- Score-P: https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-8.4/scorep-8.4.tar.gz
|
|
|
- Tau: `gh repo clone barriern/tau2`
|
|
- Tau: `gh repo clone barriern/tau2`
|
|
|
- Scalasca: [https://apps.fz-juelich.de/scalasca/releases/scalasca/2.6/dist/scalasca-2.6.1.tar.gz](https://apps.fz-juelich.de/scalasca/releases/scalasca/2.6/dist/scalasca-2.6.1.tar.gz)
|
|
- Scalasca: https://apps.fz-juelich.de/scalasca/releases/scalasca/2.6/dist/scalasca-2.6.1.tar.gz
|
|
|
|
|
|
|
|
### Conda Environment
|
|
### Conda Environment
|
|
|
|
|
|
| ... | @@ -125,7 +125,6 @@ make |
... | @@ -125,7 +125,6 @@ make |
|
|
make install
|
|
make install
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Compilation Salt
|
|
#### Compilation Salt
|
|
|
|
|
|
|
|
In order to install the Salt source instrumentation tool, go to the Salt folder and type the following:
|
|
In order to install the Salt source instrumentation tool, go to the Salt folder and type the following:
|
| ... | @@ -161,8 +160,6 @@ make install |
... | @@ -161,8 +160,6 @@ make install |
|
|
|
|
|
|
|
> **CAUTION** In TAU, each set of compile options generate a specific Makefile that will be used for the profiling. In the above, the generated Makefile will include PDT, Score-P and MPI. To compile a non-MPI program, re-compile TAU without the `-mpi` option
|
|
> **CAUTION** In TAU, each set of compile options generate a specific Makefile that will be used for the profiling. In the above, the generated Makefile will include PDT, Score-P and MPI. To compile a non-MPI program, re-compile TAU without the `-mpi` option
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Compilation Scalasca
|
|
### Compilation Scalasca
|
|
|
|
|
|
|
|
Go to your Scalasca folder and type:
|
|
Go to your Scalasca folder and type:
|
| ... | @@ -194,8 +191,7 @@ export PATH=$PROFILER_PATH_TAU/x86_64/bin/:$PATH |
... | @@ -194,8 +191,7 @@ export PATH=$PROFILER_PATH_TAU/x86_64/bin/:$PATH |
|
|
|
|
|
|
|
#### Profiling with compiler instrumentation
|
|
#### Profiling with compiler instrumentation
|
|
|
|
|
|
|
|
To profile with compiler instrumentation, you first need to define the `Makefile` that you will use and which has been generated by the
|
|
To profile with compiler instrumentation, you first need to define the `Makefile` that you will use and which has been generated by the compilation of TAU. For example:
|
|
|
compilation of TAU. For example:
|
|
|
|
|
|
|
|
|
|
```
|
|
```
|
|
|
export TAU_MAKEFILE=$PROFILER_PATH/x86_64/lib/Makefile.tau-clang-mpi
|
|
export TAU_MAKEFILE=$PROFILER_PATH/x86_64/lib/Makefile.tau-clang-mpi
|
| ... | @@ -209,8 +205,7 @@ export TAU_OPTIONS='-optKeepFiles -optVerbose -optCompInst' |
... | @@ -209,8 +205,7 @@ export TAU_OPTIONS='-optKeepFiles -optVerbose -optCompInst' |
|
|
|
|
|
|
|
#### Profiling with source instrumentation
|
|
#### Profiling with source instrumentation
|
|
|
|
|
|
|
|
To profile using source instrumentation with Tau, you need to specify the `Makefile` that you will use and which has been generated by the#
|
|
To profile using source instrumentation with Tau, you need to specify the `Makefile` that you will use and which has been generated by the# compilation of TAU. For example:
|
|
|
compilation of TAU. For example:
|
|
|
|
|
|
|
|
|
|
```
|
|
```
|
|
|
export TAU_MAKEFILE=$PROFILER_PATH/x86_64/lib/Makefile.tau-clang-mpi
|
|
export TAU_MAKEFILE=$PROFILER_PATH/x86_64/lib/Makefile.tau-clang-mpi
|
| ... | @@ -224,13 +219,11 @@ To compile a code by using the Salt parser, you also need to provide the followi |
... | @@ -224,13 +219,11 @@ To compile a code by using the Salt parser, you also need to provide the followi |
|
|
export TAU_OPTIONS='-optKeepFiles -optVerbose -optTauSelectFile="select.tau" -optSaltParser="saltfm" -optSaltInst'
|
|
export TAU_OPTIONS='-optKeepFiles -optVerbose -optTauSelectFile="select.tau" -optSaltParser="saltfm" -optSaltInst'
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
In the above, the `-optKeepFiles` allows to keep intermediate files. The `-optTauSelectFile` specifies the file where additional profiling options are provided. These options are provided in a `select.tau` file (see below)
|
|
In the above, the `-optKeepFiles` allows to keep intermediate files. The `-optTauSelectFile` specifies the file where additional profiling options are provided. These options are provided in a `select.tau` file (see below)
|
|
|
|
|
|
|
|
##### Using PDT parser
|
|
##### Using PDT parser
|
|
|
|
|
|
|
|
To compile a code by using the PDT parser, you simply need to specify a Tau makefile that includes `pdt` and
|
|
To compile a code by using the PDT parser, you simply need to specify a Tau makefile that includes `pdt` and remove the `-optSaltParser` and `-optSaltInst` from the TAU_OPTIONS. For instance:
|
|
|
remove the `-optSaltParser` and `-optSaltInst` from the TAU_OPTIONS. For instance:
|
|
|
|
|
|
|
|
|
|
```
|
|
```
|
|
|
export TAU_MAKEFILE=$PROFILER_PATH/x86_64/lib/Makefile.tau-clang-pdt
|
|
export TAU_MAKEFILE=$PROFILER_PATH/x86_64/lib/Makefile.tau-clang-pdt
|
| ... | @@ -239,9 +232,7 @@ export TAU_OPTIONS='-optKeepFiles -optVerbose -optTauSelectFile="select.tau" -op |
... | @@ -239,9 +232,7 @@ export TAU_OPTIONS='-optKeepFiles -optVerbose -optTauSelectFile="select.tau" -op |
|
|
|
|
|
|
|
In the above, the `-optKeepFiles` allows to keep intermediate files. The `-optTauSelectFile` specifies the file where additional profiling options are provided. These options are provided in a `select.tau` file (see below)
|
|
In the above, the `-optKeepFiles` allows to keep intermediate files. The `-optTauSelectFile` specifies the file where additional profiling options are provided. These options are provided in a `select.tau` file (see below)
|
|
|
|
|
|
|
|
> [!important]
|
|
> \[!important\] The PDT parser will not work with resent C++ code. For example, it will fail with includes statements of the Boost library. You need to use Salt instead
|
|
|
> The PDT parser will not work with resent C++ code. For example, it will fail with includes
|
|
|
|
|
statements of the Boost library. You need to use Salt instead
|
|
|
|
|
|
|
|
|
|
##### Selecting profiled code
|
|
##### Selecting profiled code
|
|
|
|
|
|
| ... | @@ -425,7 +416,6 @@ void toto() { |
... | @@ -425,7 +416,6 @@ void toto() { |
|
|
|
|
|
|
|
cout << "Sum = " << sum << endl;
|
|
cout << "Sum = " << sum << endl;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
To compile this instrumented code, you need to use the `--user` argument as follows:
|
|
To compile this instrumented code, you need to use the `--user` argument as follows:
|
| ... | @@ -465,7 +455,7 @@ scan test.exe |
... | @@ -465,7 +455,7 @@ scan test.exe |
|
|
scan -t test.exe
|
|
scan -t test.exe
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
---
|
|
|
|
|
|
|
|
Resources:
|
|
Resources:
|
|
|
|
|
|
| ... | |
... | |
| ... | | ... | |