/usr/share/doc/opari2/html/USAGE.html is in libpomp2-doc 2.0.2-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | <!-- HTML header for doxygen 1.8.10-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>OPARI2: Basic Usage</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="15%">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="project_logo.svg"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname"><!--empty as logo contains name -->
 <span id="projectnumber">2.0.2 (revision 1782)</span>
</div>
<div id="projectbrief">OpenMP Pragma And Region Instrumentor</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="index.html">OPARI2 - Introduction and Contents</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Basic Usage </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>To create an instrumented version of an application, each file of interest is transformed by the OPARI2 tool. The application is then linked against the respective runtime measurement library and optionally to a special initialization file (see section <a class="el" href="LINKING.html">Linking to a Measurement System</a> and <a class="el" href="index.html#SUMMARY">SUMMARY</a> for further details).</p>
<p>A call to OPARI2 has the following syntax: </p><pre class="fragment">Usage: opari2 [OPTION] ... infile [outfile]
****************** general options and parameters *******************
[--f77|--f90|--c|--c++]
[OPTIONAL] Specifies the programming language of the input source
file. This option is only necessary if the automatic language
detection based on the input file suffix fails.
[--free-form]
[OPTIONAL] Specifies that free formatting is used for Fortran source
files. This is the default for Fortran 90/95.
[--fix-form]
[OPTIONAL] Specifies that fixed formatting is used for Fortran source
files. This is the default for Fortran 77.
[--nosrc]
[OPTIONAL] If specified, OPARI2 does not generate #line constructs,
which allow to preserve the original source file and line number
information, in the transformation process. This option might be
necessary if the OpenMP compiler does not understand #line
constructs. The default is to generate #line constructs.
[--disable=paradigm[:directive|group[:inner],...][+paradigm...]
[OPTIONAL] Disable the instrumentation of whole paradigms, or
specific directives or groups of directives of a paradigm.
Furthermore it gives the possibility to suppress the insertion of
instrumentation functions inside code regions, i.e. only the
surrounding instrumentation is inserted.
[--preprocessed]
[OPTIONAL] Indicates that the source file is already
preprocessed. It requires that necessary instrumentation interface
headers are already included. Furthermore, it requires a marker,
e.g. ___POMP2_INCLUDE___ immediately after the respective include
file.
[--version]
[OPTIONAL] Prints version information.
[--help]
[OPTIONAL] Prints this help text.
infile
Input file name.
[outfile]
[OPTIONAL] Output file name. If not specified, OPARI2 uses the name
infile.mod.suffix if the input file is called infile.suffix.
********************** OpenMP specific options **********************
[--omp-nodecl]
[OPTIONAL] Disables the generation of POMP2_DLISTXXXXX macros. These
are used in the parallel directives of the instrumentation to make
the region handles shared. By using this option the shared clause is
used directly on the parallel directive with the respective region
handles.
[--omp-tpd]
[OPTIONAL] Adds the clause 'copyin(<pomp_tpd>)' to any parallel
construct. This allows to pass data from the creating thread to its
children. The variable is declared externally in all files, so it
needs to be defined by the pomp library. This option is not
supported when using the Fujitsu compiler.
[--omp-tpd-mangling=gnu|intel|sun|pgi|ibm|cray]
[OPTIONAL] If programming languages are mixed(C and Fortran), the
<pomp_tpd> needs to use the Fortran mangled name also in C files.
This option specifies to use the mangling scheme of the gnu, intel,
sun, pgi or ibm compiler. The default is to use the mangling scheme
of the compiler used to build OPARI2.
[--omp-task=abort|warn|remove]
Special treatment for the task directive
abort: Stop instrumentation with an error message when encountering
a task directive.
warn: Resume but print a warning.
remove: Remove all task directives.
[--omp-task-untied=abort|keep|no-warn]
Special treatment for the untied task attribute. The default behavior
is to remove the untied attribute, thus making all tasks tied, and
print out a warning.
abort: Stop instrumentation with an error message when
encountering a task directive with the untied attribute.
keep: Do not remove the untied attribute.
no-warn: Do not print out a warning.
**********************************************************************
Please report bugs to <support@score-p.org>.
</pre><p>If you run OPARI2 on the input file <code>example.c</code> it will create two files:</p>
<ul>
<li><code>example.mod.c</code> is the instrumented version of <code>example.c</code>, i.e. it contains the original code plus calls to the <a class="el" href="pomp2__lib_8h.html">POMP2 API </a> referencing handles to the OpenMP regions identified by OPARI2.</li>
</ul>
<ul>
<li><code>example.c.opari.inc</code> contains the region handle definitions accompanied with all the relevant data needed by the handles. This Compile-Time-Context (CTC) information is encoded into a string for maximum portability. For each region, the tuple (region_handle, ctc_string) is passed to an initializing function (e.g. POMP2_Assign_handle()). All calls to these initializing functions are gathered in a one function per supported paradigm (e.g. POMP2_Init_reg_XXX_YY), where XXX_YY is unique for each compilation unit.</li>
</ul>
<p>At some point during the runtime of the instrumented application, the region handles need to be initialized using the information stored in the CTC string. This can be done in one of of two ways:</p>
<ul>
<li>during <em>startup</em> of the measurement system, or </li>
<li>during <em>runtime</em> when a region handle is accessed for the first time.</li>
</ul>
<p>We <em>highly</em> recommend using the first option as it incurs much less runtime overhead than the second one (no locking, no lookup needed). In this case all initialization functions introduced by OPARI2 need to be called. See <a class="el" href="LINKING.html">Linking to a Measurement System</a> for further details. For runtime initialization the CTC string is provided as an argument to the relevant API function. </p>
</div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.10-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Report bugs to <a href="mailto:support@score-p.org">support@score-p.org</a>
</small></address>
</body>
</html>
|