---
name: "tau_compiler.sh"
section: "1"
platform: "linux"
package: "tau"
version: "2.17.3.1.dfsg-4.2"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/tau_compiler.sh"
---

# tau\_compiler.sh(1)

Instrumenting source files.

## NAME

tau\_compiler.sh - Instrumenting source files.

## SYNOPSIS

**tau\_compiler.sh** \[**-p** *profile*\] \[**-optVerbose**\] \[**-optQuiet**\] \[**-optPdtDir=***dir*\] \[**-optPdtF95Opts=***opts*\] \[**-optPdtF95Reset=***opts*\] \[**-optPdtCOpts=***opts*\] \[**-optPdtCReset=***opts*\] \[**-optPdtCxxOpts=***opts*\] \[**-optPdtCReset=***opts*\] \[**-optPdtF90Parser=***parser*\] \[**-optGnuFortranParser=***parser*\] \[**-optPdtUser=***opts*\] \[**-optTauInstr=***path*\] \[**-optDetectMemoryLeaks**\] \[**-optIncludeMemory**\] \[**-optPreProcess**\] \[**-optCPP=***path*\] \[**-optCPPOpts=***options*\] \[**-optCPPReset=***options*\] \[**-optTauSelectFile=***file*\] \[**-optPDBFile=***file*\] \[**-optTau=***opts*\] \[**-optCompile=***opts*\] \[**-optTauDefs=***opts*\] \[**-optTauIncludes=***opts*\] \[**-optReset=***opts*\] \[**-optLinking=***opts*\] \[**-optLinkReset=***opts*\] \[**-optTauCC=***cc*\] \[**-optOpariTool=***path/opari*\] \[**-optOpariDir=***path*\] \[**-optOpariOpts=***opts*\] \[**-optOpariReset=***opts*\] \[**-optNoMpi**\] \[**-optMpi**\] \[**-optNoRevert**\] \[**-optRevert**\] \[**-optKeepFiles**\] \[**-optAppC**\] \[**-optAppCXX**\] \[**-optAppF90**\] {*compiler*} \[*compiler\_options*\]

## DESCRIPTION

The TAU Compiler provides a simple way to automatically instrument an entire project. The TAU Compiler can be used on C, C++, fixed form Fortran, and free form Fortran.

## OPTIONS

**-f tracefile** -Specify the Vampir tracefile to be converted.

**-optVerbose** Turn on verbose debugging messages.

**-optQuiet** Suppresses excessive output.

**-optPdtDir=\<dir\>** The PDT architecture directory. Typically **$(PDTDIR)/$(PDTARCHDIR)**.

**-optPdtF95Opts=\<opts\>** Options for Fortran parser in PDT (f95parse).

**-optPdtF95Reset=\<opts\>** Reset options to the Fortran parser to the given list.

**-optPdtCOpts=\<opts\>** Options for C parser in PDT (cparse). Typically **$(TAU\_MPI\_INCLUDE) $(TAU\_INCLUDE) $(TAU\_DEFS)**.

**-optPdtCReset=\<opts\>** Reset options to the C parser to the given list

**-optPdtCxxOpts=\<opts\>** Options for C++ parser in PDT (cxxparse). Typically **$(TAU\_MPI\_INCLUDE) $(TAU\_INCLUDE) $(TAU\_DEFS)**.

**-optPdtCReset=\<opts\>** Reset options to the C++ parser to the given list

**-optPdtF90Parser=\<parser\>** Specify a different Fortran parser. For e.g., **f90parse** instead of **f95parse**.

**-optGnuFortranParser=\<parser\>** Specify the GNU **gfortran** Fortran parser **gfparse**instead of **f95parse**

**-optPdtUser=\<opts\>** Optional arguments for parsing source code.

**-optTauInstr=\<path\>** Specify location of tau\_instrumentor. Typically **$(TAUROOT)/$(CONFIG\_ARCH)/bin/tau\_instrumentor**.

**-optDetectMemoryLeaks** Instructs TAU to detect any memory leaks in C/C++ programs.TAU then tracks the source location of the memory leak as wellas the place in the callstack where the memory allocation wasmade.

**-optIncludeMemory** Forinteral use only

**-optPreProcess** Preprocess the source code before parsing. Uses /usr/bin/cpp-P by default.

**-optCPP=\<path\>** Specify an alternative preprocessor and pre-process the sources.

**-optCPPOpts=\<options\>** Specify additional options to the C pre-processor.

**-optCPPReset=\<options\>** ResetC preprocessor options to the specified list.

**-optTauSelectFile=\<file\>** Specify selective instrumentation file for tau\_instrumentor

**-optPDBFile=\<file\>** Specify PDB file for tau\_instrumentor. Skips parsing stage.

**-optTau=\<opts\>** Specify options for tau\_instrumentor.

**-optCompile=\<opts\>** Options passed to the compiler. Typically  **$(TAU\_MPI\_INCLUDE) $(TAU\_INCLUDE) $(TAU\_DEFS)** .

**-optTauDefs=\<opts\>** Options passed to the compiler by TAU. Typically  **$(TAU\_DEFS)** .

**-optTauIncludes=\<opts\>** Options passed to the compiler by TAU. Typically  **$(TAU\_MPI\_INCLUDE) $(TAU\_INCLUDE)** .

**-optReset=\<opts\>** Reset options to the compiler to the given list

**-optLinking=\<opts\>** Options passed to the linker. Typically **$(TAU\_MPI\_FLIBS) $(TAU\_LIBS) $(TAU\_CXXLIBS)** .

**-optLinkReset=\<opts\>** Reset options to the linker to the given list.

**-optTauCC=\<cc\>** Specifies the C compiler used by TAU.

**-optOpariTool=\<path/opari\>** Specifies the location of the Opari tool.

**-optOpariDir=\<path\>** Specifies the location of the Opari directory.

**-optOpariOpts=\<opts\>** Specifies optional arguments to the Opari tool.

**-optOpariReset=\<opts\>** Resets options passed to the Opari tool.

**-optNoMpi** Removes **-l\*mpi\*** libraries during linking (default).

**-optMpi** Does not remove **-l\*mpi\*** libraries during linking.

**-optNoRevert** Exit on error. Does not revert to the original compilation rule on error.

**-optRevert** Revert to the original compilation rule on error (default).

**-optKeepFiles** Does not remove intermediate **.pdb** and **.inst.\*** files.

**-optAppC** Sets the failsafe C compiler.

**-optAppCXX** Sets the failsafe C++ compiler.

**-optAppF90** Sets the failsafe F90 compiler
