File: classNV_1_1Rules_1_1IFrontend.html

package info (click to toggle)
nvidia-cuda-toolkit 12.4.1-2
  • links: PTS, VCS
  • area: non-free
  • in suites: trixie
  • size: 18,505,836 kB
  • sloc: ansic: 203,477; cpp: 64,769; python: 34,699; javascript: 22,006; xml: 13,410; makefile: 3,085; sh: 2,343; perl: 352
file content (366 lines) | stat: -rw-r--r-- 48,142 bytes parent folder | download | duplicates (6)
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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>NV::Rules::IFrontend &mdash; NsightCompute 12.4 documentation</title>
      <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
      <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
      <link rel="stylesheet" href="../_static/design-style.b7bb847fb20b106c3d81b95245e65545.min.css" type="text/css" />
      <link rel="stylesheet" href="../_static/omni-style.css" type="text/css" />
      <link rel="stylesheet" href="../_static/api-styles.css" type="text/css" />
    <link rel="shortcut icon" href="../_static/nsight-compute.ico"/>
  <!--[if lt IE 9]>
    <script src="../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
        <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
        <script src="../_static/jquery.js"></script>
        <script src="../_static/underscore.js"></script>
        <script src="../_static/doctools.js"></script>
        <script src="../_static/mermaid-init.js"></script>
        <script src="../_static/design-tabs.js"></script>
        <script src="../_static/version.js"></script>
        <script src="../_static/social-media.js"></script>
    <script src="../_static/js/theme.js"></script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="NV::Rules::IMessageVault" href="classNV_1_1Rules_1_1IMessageVault.html" />
    <link rel="prev" title="NV::Rules::IEvaluator" href="classNV_1_1Rules_1_1IEvaluator.html" />
 


</head>

<body class="wy-body-for-nav"> 
  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >


  <a href="../index.html">
  <img src="../_static/nsight-compute.png" class="logo" alt="Logo"/>
</a>

<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <p class="caption" role="heading"><span class="caption-text">Nsight Compute</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../ReleaseNotes/index.html">1. Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../ProfilingGuide/index.html">2. Kernel Profiling Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../NsightCompute/index.html">3. Nsight Compute</a></li>
<li class="toctree-l1"><a class="reference internal" href="../NsightComputeCli/index.html">4. Nsight Compute CLI</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Developer Interfaces</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../CustomizationGuide/index.html">1. Customization Guide</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../NvRulesAPI/index.html">2. NvRules API</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="modules.html">2.1. Modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="data-structures.html">2.2. Data Structures</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="namespaces.html">2.3. Namespaces</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="namespaceNV.html">2.3.1. NV</a><ul class="current">
<li class="toctree-l4 current"><a class="reference internal" href="namespaceNV_1_1Rules.html">Rules</a><ul class="current">
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1IAction.html">IAction</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1IBaseContext.html">IBaseContext</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1IContext.html">IContext</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1IController.html">IController</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1IEvaluator.html">IEvaluator</a></li>
<li class="toctree-l5 current"><a class="current reference internal" href="#">IFrontend</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1IMessageVault.html">IMessageVault</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1IMetric.html">IMetric</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1INvtxDomainInfo.html">INvtxDomainInfo</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1INvtxRange.html">INvtxRange</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1INvtxState.html">INvtxState</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1IRange.html">IRange</a></li>
<li class="toctree-l5"><a class="reference internal" href="classNV_1_1Rules_1_1ISourceInfo.html">ISourceInfo</a></li>
<li class="toctree-l5"><a class="reference internal" href="namespaceNV_1_1Rules.html#enumerations">Enumerations</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Training</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Training/index.html">Training</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Release Information</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../Archives/index.html">Archives</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Copyright and Licenses</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../CopyrightAndLicenses/index.html">Copyright and Licenses</a></li>
</ul>

        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">NsightCompute</a>
      </nav>

      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="Page navigation">
  <ul class="wy-breadcrumbs">


<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
    <li><a href="../NvRulesAPI/index.html"><span class="section-number">2. </span>NvRules API</a> &raquo;</li>
    <li><a href="namespaces.html"><span class="section-number">2.3. </span>Namespaces</a> &raquo;</li>
    <li><a href="namespaceNV.html"><span class="section-number">2.3.1. </span>NV</a> &raquo;</li>
    <li><a href="namespaceNV_1_1Rules.html">NV::Rules</a> &raquo;</li>
<li>NV::Rules::IFrontend</li>

      <li class="wy-breadcrumbs-aside">
      </li>
<li class="wy-breadcrumbs-aside">


  <span>v2024.1.1 |</span>



  <a href="https://developer.nvidia.com/nsight-compute-history" class="reference external">Archive</a>


  <span>&nbsp;</span>
</li>

  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
             
  <section id="nv-rules-ifrontend">
<h1>NV::Rules::IFrontend<a class="headerlink" href="#nv-rules-ifrontend" title="Permalink to this headline"></a></h1>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontendE">
<span id="_CPPv3N2NV5Rules9IFrontendE"></span><span id="_CPPv2N2NV5Rules9IFrontendE"></span><span id="NV::Rules::IFrontend"></span><span class="target" id="classnv_1_1rules_1_1ifrontend"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">IFrontend</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontendE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Frontend interface. </p>
<p>The frontend is responsible for relaying messages and results to the caller via user interfaces, logs or output files. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric-h3 rubric" id="breathe-section-title-public-types">Public Types</p>
<dl class="cpp type">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend4DictE">
<span id="_CPPv3N2NV5Rules9IFrontend4DictE"></span><span id="_CPPv2N2NV5Rules9IFrontend4DictE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1aba3c98757d3444430d14e7909b93eb8e"></span><span class="k"><span class="pre">using</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Dict</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">map</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="kt"><span class="pre">double</span></span><span class="p"><span class="pre">&gt;</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend4DictE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

<dl class="cpp enum-class">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend10MarkerKindE">
<span id="_CPPv3N2NV5Rules9IFrontend10MarkerKindE"></span><span id="_CPPv2N2NV5Rules9IFrontend10MarkerKindE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a78b17b8795286c6e4017254a8216472d"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MarkerKind</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend10MarkerKindE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Marker Kind. </p>
<p>The kind of marker that is created in the Source Page with source_marker. <code class="docutils literal notranslate"><span class="pre">SASS</span></code> The marker will be associated with a SASS instruction. <code class="docutils literal notranslate"><span class="pre">SOURCE</span></code> The marker will be associated with a Source line. </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend10MarkerKind4SASSE">
<span id="_CPPv3N2NV5Rules9IFrontend10MarkerKind4SASSE"></span><span id="_CPPv2N2NV5Rules9IFrontend10MarkerKind4SASSE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a78b17b8795286c6e4017254a8216472da1ac21585aaf0b5a6b0b50acb6d1b91be"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SASS</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend10MarkerKind4SASSE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend10MarkerKind6SOURCEE">
<span id="_CPPv3N2NV5Rules9IFrontend10MarkerKind6SOURCEE"></span><span id="_CPPv2N2NV5Rules9IFrontend10MarkerKind6SOURCEE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a78b17b8795286c6e4017254a8216472dae60b4854b44ccfb2d92aa6f035171bb4"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SOURCE</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend10MarkerKind6SOURCEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

</dd></dl>

<dl class="cpp enum-class">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend7MsgTypeE">
<span id="_CPPv3N2NV5Rules9IFrontend7MsgTypeE"></span><span id="_CPPv2N2NV5Rules9IFrontend7MsgTypeE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1aff4fca755bad23aa47ba024b80e893d3"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MsgType</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend7MsgTypeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Message type. </p>
<p>The type a message to the frontend represents when calling message. <code class="docutils literal notranslate"><span class="pre">MSG_NONE</span></code> No specific type for this message. <code class="docutils literal notranslate"><span class="pre">MSG_OK</span></code> The message is informative. <code class="docutils literal notranslate"><span class="pre">MSG_OPTIMIZATION</span></code> The message represents a suggestion for performance optimization. <code class="docutils literal notranslate"><span class="pre">MSG_WARNING</span></code> The message represents a warning or fixable issue. <code class="docutils literal notranslate"><span class="pre">MSG_ERROR</span></code> The message represents an error, potentially in executing the rule. </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend7MsgType8MSG_NONEE">
<span id="_CPPv3N2NV5Rules9IFrontend7MsgType8MSG_NONEE"></span><span id="_CPPv2N2NV5Rules9IFrontend7MsgType8MSG_NONEE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1aff4fca755bad23aa47ba024b80e893d3a4481468dc2d7cb5516cdb6bc6485dd7e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MSG_NONE</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend7MsgType8MSG_NONEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend7MsgType6MSG_OKE">
<span id="_CPPv3N2NV5Rules9IFrontend7MsgType6MSG_OKE"></span><span id="_CPPv2N2NV5Rules9IFrontend7MsgType6MSG_OKE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1aff4fca755bad23aa47ba024b80e893d3aefd1f02de4771e98d840a4d53a1489e8"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MSG_OK</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend7MsgType6MSG_OKE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend7MsgType16MSG_OPTIMIZATIONE">
<span id="_CPPv3N2NV5Rules9IFrontend7MsgType16MSG_OPTIMIZATIONE"></span><span id="_CPPv2N2NV5Rules9IFrontend7MsgType16MSG_OPTIMIZATIONE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1aff4fca755bad23aa47ba024b80e893d3ac774d65ba46d9bb767c25f806663ed38"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MSG_OPTIMIZATION</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend7MsgType16MSG_OPTIMIZATIONE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend7MsgType11MSG_WARNINGE">
<span id="_CPPv3N2NV5Rules9IFrontend7MsgType11MSG_WARNINGE"></span><span id="_CPPv2N2NV5Rules9IFrontend7MsgType11MSG_WARNINGE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1aff4fca755bad23aa47ba024b80e893d3a124799373c019c5c7480f21a24104688"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MSG_WARNING</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend7MsgType11MSG_WARNINGE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend7MsgType9MSG_ERRORE">
<span id="_CPPv3N2NV5Rules9IFrontend7MsgType9MSG_ERRORE"></span><span id="_CPPv2N2NV5Rules9IFrontend7MsgType9MSG_ERRORE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1aff4fca755bad23aa47ba024b80e893d3a5c89a276ac7877e1de49cdc1b4750ce4"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MSG_ERROR</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend7MsgType9MSG_ERRORE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

</dd></dl>

<dl class="cpp type">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend6RuleIdE">
<span id="_CPPv3N2NV5Rules9IFrontend6RuleIdE"></span><span id="_CPPv2N2NV5Rules9IFrontend6RuleIdE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a37706311a84b35221a4a7cf3f121884f"></span><span class="k"><span class="pre">using</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RuleId</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend6RuleIdE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

<dl class="cpp enum-class">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend8SeverityE">
<span id="_CPPv3N2NV5Rules9IFrontend8SeverityE"></span><span id="_CPPv2N2NV5Rules9IFrontend8SeverityE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1acc2357d9ea84c2626fc8ed8772efb9ba"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Severity</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend8SeverityE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Focus metric severity. </p>
<p>The severity a focus metric represents when calling focus_metric. The severity can be used by the rule system client when processing the focus metric. <code class="docutils literal notranslate"><span class="pre">SEVERITY_DEFAULT</span></code> The default severity. <code class="docutils literal notranslate"><span class="pre">SEVERITY_LOW</span></code> Severity if low. <code class="docutils literal notranslate"><span class="pre">SEVERITY_HIGH</span></code> Severity if high. </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend8Severity16SEVERITY_DEFAULTE">
<span id="_CPPv3N2NV5Rules9IFrontend8Severity16SEVERITY_DEFAULTE"></span><span id="_CPPv2N2NV5Rules9IFrontend8Severity16SEVERITY_DEFAULTE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1acc2357d9ea84c2626fc8ed8772efb9baaab1bbc69ff852378afa7f2f7d46dada0"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SEVERITY_DEFAULT</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend8Severity16SEVERITY_DEFAULTE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend8Severity12SEVERITY_LOWE">
<span id="_CPPv3N2NV5Rules9IFrontend8Severity12SEVERITY_LOWE"></span><span id="_CPPv2N2NV5Rules9IFrontend8Severity12SEVERITY_LOWE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1acc2357d9ea84c2626fc8ed8772efb9baaef625fe9f34ad3da5fdbc0c666ab515f"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SEVERITY_LOW</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend8Severity12SEVERITY_LOWE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend8Severity13SEVERITY_HIGHE">
<span id="_CPPv3N2NV5Rules9IFrontend8Severity13SEVERITY_HIGHE"></span><span id="_CPPv2N2NV5Rules9IFrontend8Severity13SEVERITY_HIGHE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1acc2357d9ea84c2626fc8ed8772efb9baa8665436668289245056b214adfac515b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SEVERITY_HIGH</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend8Severity13SEVERITY_HIGHE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

</dd></dl>

<dl class="cpp enum-class">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend11SpeedupTypeE">
<span id="_CPPv3N2NV5Rules9IFrontend11SpeedupTypeE"></span><span id="_CPPv2N2NV5Rules9IFrontend11SpeedupTypeE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a905d01236f5c6420a33e7f837daf2cec"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SpeedupType</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend11SpeedupTypeE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Speedup estimation type. </p>
<p>The type of speedup estimation used when calling speedup. <code class="docutils literal notranslate"><span class="pre">LOCAL</span></code> The proportional increase in efficiency of the hardware usage when viewing the performance problem in isolation. <code class="docutils literal notranslate"><span class="pre">GLOBAL</span></code> The proportional reduction in runtime of the entire workload. </p>
<p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend11SpeedupType5LOCALE">
<span id="_CPPv3N2NV5Rules9IFrontend11SpeedupType5LOCALE"></span><span id="_CPPv2N2NV5Rules9IFrontend11SpeedupType5LOCALE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a905d01236f5c6420a33e7f837daf2ceca54b4c4075463b2e02cd69f5cd139b5b2"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">LOCAL</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend11SpeedupType5LOCALE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend11SpeedupType6GLOBALE">
<span id="_CPPv3N2NV5Rules9IFrontend11SpeedupType6GLOBALE"></span><span id="_CPPv2N2NV5Rules9IFrontend11SpeedupType6GLOBALE"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a905d01236f5c6420a33e7f837daf2ceca6eecfba72d12922ee1dead07a0ef3334"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GLOBAL</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend11SpeedupType6GLOBALE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric-h3 rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend12focus_metricEiPKcd8SeverityPKc">
<span id="_CPPv3N2NV5Rules9IFrontend12focus_metricEiPKcd8SeverityPKc"></span><span id="_CPPv2N2NV5Rules9IFrontend12focus_metricEiPKcd8SeverityPKc"></span><span id="NV::Rules::IFrontend::focus_metric__i.cCP.double.Severity.cCP"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a3e62f46a3636d644b507bf142133bb8e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">focus_metric</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">message_id</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">metric_name</span></span>, <span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">metric_value</span></span>, <a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend8SeverityE" title="NV::Rules::IFrontend::Severity"><span class="n"><span class="pre">Severity</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">severity</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">info</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend12focus_metricEiPKcd8SeverityPKc" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rule focus metric message. </p>
<p>Issues a focus metric message to the frontend, e.g. to indicate a key metric that triggered the rule output. Can be associated with a prior message using its <code class="docutils literal notranslate"><span class="pre">message_id</span></code> . The <code class="docutils literal notranslate"><span class="pre">severity</span></code> can be used to indicate this metric’s impact/severity on the result. The <code class="docutils literal notranslate"><span class="pre">info</span></code> field can be set to a descriptive string for further information, e.g. the calculation leading to this metric being focused. Returns whether the focus_metric could be set successfully for the <code class="docutils literal notranslate"><span class="pre">message_id</span></code> . </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend20load_chart_from_fileEPKc">
<span id="_CPPv3N2NV5Rules9IFrontend20load_chart_from_fileEPKc"></span><span id="_CPPv2N2NV5Rules9IFrontend20load_chart_from_fileEPKc"></span><span id="NV::Rules::IFrontend::load_chart_from_file__cCP"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1ac00fcb56cb457cd1dfc9643e736e1057"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">load_chart_from_file</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">filename</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend20load_chart_from_fileEPKc" title="Permalink to this definition"></a><br /></dt>
<dd><p>Load a ProfilerSection google protcol buffer chart from <code class="docutils literal notranslate"><span class="pre">filename</span></code>. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend7messageEPKcPKc">
<span id="_CPPv3N2NV5Rules9IFrontend7messageEPKcPKc"></span><span id="_CPPv2N2NV5Rules9IFrontend7messageEPKcPKc"></span><span id="NV::Rules::IFrontend::message__cCP.cCP"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a60ef48a3efdb1e49c6e3e39fb9bbd8c1"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">message</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">str</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">name</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">nullptr</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend7messageEPKcPKc" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rule result message. </p>
<p>Issues a message <code class="docutils literal notranslate"><span class="pre">str</span></code> to the frontend with the default MsgType and optional name <code class="docutils literal notranslate"><span class="pre">name</span></code> . Returns a message ID that is unique in this rule invocation. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend7messageE7MsgTypePKcPKc">
<span id="_CPPv3N2NV5Rules9IFrontend7messageE7MsgTypePKcPKc"></span><span id="_CPPv2N2NV5Rules9IFrontend7messageE7MsgTypePKcPKc"></span><span id="NV::Rules::IFrontend::message__MsgType.cCP.cCP"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1aa935da7feb246ef86d06c51eae6b52bd"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">message</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend7MsgTypeE" title="NV::Rules::IFrontend::MsgType"><span class="n"><span class="pre">MsgType</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">type</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">str</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">name</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">nullptr</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend7messageE7MsgTypePKcPKc" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rule result message. </p>
<p>Issues a message <code class="docutils literal notranslate"><span class="pre">str</span></code> with a specific message <code class="docutils literal notranslate"><span class="pre">type</span></code> and optional name <code class="docutils literal notranslate"><span class="pre">name</span></code> to the frontend. Returns a message ID that is unique in this rule invocation. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend24receive_dict_from_parentERK6RuleId">
<span id="_CPPv3N2NV5Rules9IFrontend24receive_dict_from_parentERK6RuleId"></span><span id="_CPPv2N2NV5Rules9IFrontend24receive_dict_from_parentERK6RuleId"></span><span id="NV::Rules::IFrontend::receive_dict_from_parent__RuleIdCR"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1aba09668e5f60316a836c644f0bfcc21d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend4DictE" title="NV::Rules::IFrontend::Dict"><span class="n"><span class="pre">Dict</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">receive_dict_from_parent</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend6RuleIdE" title="NV::Rules::IFrontend::RuleId"><span class="n"><span class="pre">RuleId</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">parent_id</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend24receive_dict_from_parentERK6RuleId" title="Permalink to this definition"></a><br /></dt>
<dd><p>Receive a dictionary from parent rule <code class="docutils literal notranslate"><span class="pre">parent_id</span></code>. </p>
<p>Receive a dictionary of type dict[str,float] sent using <code class="docutils literal notranslate"><span class="pre">send_dict_to_children</span></code> . In case <code class="docutils literal notranslate"><span class="pre">parent_id</span></code> does not represent a pre-specified parent rule of this rule, or in case the parent rule has not been executed, an empty dict will be returned. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend21send_dict_to_childrenERK4Dict">
<span id="_CPPv3N2NV5Rules9IFrontend21send_dict_to_childrenERK4Dict"></span><span id="_CPPv2N2NV5Rules9IFrontend21send_dict_to_childrenERK4Dict"></span><span id="NV::Rules::IFrontend::send_dict_to_children__DictCR"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a543c63bcccff34f3410fe24318757767"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">send_dict_to_children</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend4DictE" title="NV::Rules::IFrontend::Dict"><span class="n"><span class="pre">Dict</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">dict</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend21send_dict_to_childrenERK4Dict" title="Permalink to this definition"></a><br /></dt>
<dd><p>Send a dictionary <code class="docutils literal notranslate"><span class="pre">dict</span></code> to all child rules. </p>
<p>Sends a Python dictionary of type dict[str,float] to all rules that specify this rule as a parent rule. Child rules can retrieve the message using <code class="docutils literal notranslate"><span class="pre">receive_dict_from_parent</span></code> . In case this function is called repeatedly, the dict is updated accordingly, thereby adding new key-value pairs, and overwriting values of pre-existing keys. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend13source_markerEPKc8uint64_t10MarkerKindPKc7MsgType">
<span id="_CPPv3N2NV5Rules9IFrontend13source_markerEPKc8uint64_t10MarkerKindPKc7MsgType"></span><span id="_CPPv2N2NV5Rules9IFrontend13source_markerEPKc8uint64_t10MarkerKindPKc7MsgType"></span><span id="NV::Rules::IFrontend::source_marker__cCP.uint64_t.MarkerKind.cCP.MsgType"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a38a02b1e8e3f95048220dc66ba8b1737"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">source_marker</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">str</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">address_or_line</span></span>, <a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend10MarkerKindE" title="NV::Rules::IFrontend::MarkerKind"><span class="n"><span class="pre">MarkerKind</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">kind</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">file_name</span></span>, <a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend7MsgTypeE" title="NV::Rules::IFrontend::MsgType"><span class="n"><span class="pre">MsgType</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">type</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend7MsgTypeE" title="NV::Rules::IFrontend::MsgType"><span class="n"><span class="pre">MsgType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend7MsgType8MSG_NONEE" title="NV::Rules::IFrontend::MsgType::MSG_NONE"><span class="n"><span class="pre">MSG_NONE</span></span></a><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend13source_markerEPKc8uint64_t10MarkerKindPKc7MsgType" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rule source marker. </p>
<p>Creates a source marker with a message <code class="docutils literal notranslate"><span class="pre">str</span></code> at the source location <code class="docutils literal notranslate"><span class="pre">address_or_line</span></code> in the appropriate <code class="docutils literal notranslate"><span class="pre">kind</span></code> of source. This function supports multi-file programs, which means a <code class="docutils literal notranslate"><span class="pre">file_name</span></code> has to be specified. The <code class="docutils literal notranslate"><span class="pre">type</span></code> denotes the urgency associated with this marker and is optional. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend13source_markerEPKc8uint64_t10MarkerKind7MsgType">
<span id="_CPPv3N2NV5Rules9IFrontend13source_markerEPKc8uint64_t10MarkerKind7MsgType"></span><span id="_CPPv2N2NV5Rules9IFrontend13source_markerEPKc8uint64_t10MarkerKind7MsgType"></span><span id="NV::Rules::IFrontend::source_marker__cCP.uint64_t.MarkerKind.MsgType"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a2b468e4da2e860645555c30ec3f79e8a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">source_marker</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">str</span></span>, <span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">address_or_line</span></span>, <a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend10MarkerKindE" title="NV::Rules::IFrontend::MarkerKind"><span class="n"><span class="pre">MarkerKind</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">kind</span></span>, <a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend7MsgTypeE" title="NV::Rules::IFrontend::MsgType"><span class="n"><span class="pre">MsgType</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">type</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend7MsgTypeE" title="NV::Rules::IFrontend::MsgType"><span class="n"><span class="pre">MsgType</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend7MsgType8MSG_NONEE" title="NV::Rules::IFrontend::MsgType::MSG_NONE"><span class="n"><span class="pre">MSG_NONE</span></span></a><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend13source_markerEPKc8uint64_t10MarkerKind7MsgType" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rule source marker. </p>
<p>Creates a source marker with a message <code class="docutils literal notranslate"><span class="pre">str</span></code> at the source location <code class="docutils literal notranslate"><span class="pre">address_or_line</span></code> in the appropriate <code class="docutils literal notranslate"><span class="pre">kind</span></code> of source. The <code class="docutils literal notranslate"><span class="pre">type</span></code> denotes the urgency associated with this marker and is optional. </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontend7speedupEi11SpeedupTyped">
<span id="_CPPv3N2NV5Rules9IFrontend7speedupEi11SpeedupTyped"></span><span id="_CPPv2N2NV5Rules9IFrontend7speedupEi11SpeedupTyped"></span><span id="NV::Rules::IFrontend::speedup__i.SpeedupType.double"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1ab0eef983e7a8f680b061a5bb0927fc02"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">speedup</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">message_id</span></span>, <a class="reference internal" href="#_CPPv4N2NV5Rules9IFrontend11SpeedupTypeE" title="NV::Rules::IFrontend::SpeedupType"><span class="n"><span class="pre">SpeedupType</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">type</span></span>, <span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">estimated_speedup</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontend7speedupEi11SpeedupTyped" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rule estimated speedup message. </p>
<p>Issues an estimated speedup to the frontend associated to the message with ID <code class="docutils literal notranslate"><span class="pre">message_id</span></code> . When <code class="docutils literal notranslate"><span class="pre">type</span></code> is <code class="docutils literal notranslate"><span class="pre">SpeedupType::GLOBAL</span></code>, it indicates what proportional decrease in workload runtime could potentially be achieved, when following the guidelines of the rule. When <code class="docutils literal notranslate"><span class="pre">type</span></code> is <code class="docutils literal notranslate"><span class="pre">SpeedupType::LOCAL</span></code>, it indicates what increase in the efficiency of the hardware usage within the context of the performance problem could be achieved. Returns whether the speedup could be set successfully for the <code class="docutils literal notranslate"><span class="pre">message_id</span></code> . </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules9IFrontendD0Ev">
<span id="_CPPv3N2NV5Rules9IFrontendD0Ev"></span><span id="_CPPv2N2NV5Rules9IFrontendD0Ev"></span><span id="NV::Rules::IFrontend::~IFrontend"></span><span class="target" id="classnv_1_1rules_1_1ifrontend_1a17e6eef827fbd7eef844462179383a1c"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">~IFrontend</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N2NV5Rules9IFrontendD0Ev" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>

</div>
</dd></dl>

</section>


           </div>
          </div>
          <footer>

  <hr/>

  <div role="contentinfo">
    <p>&#169; Copyright 2018-2024, NVIDIA Corporation &amp; Affiliates. All rights reserved.
      <span class="lastupdated">Last updated on Mar 06, 2024.
      </span></p>
  </div>

   

</footer>
        </div>
      </div>
    </section>
  </div>
  <script>
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>
 



</body>
</html>