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
|
<!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::IController — 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::IEvaluator" href="classNV_1_1Rules_1_1IEvaluator.html" />
<link rel="prev" title="NV::Rules::IContext" href="classNV_1_1Rules_1_1IContext.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 current"><a class="current reference internal" href="#">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"><a class="reference internal" href="classNV_1_1Rules_1_1IFrontend.html">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> »</li>
<li><a href="../NvRulesAPI/index.html"><span class="section-number">2. </span>NvRules API</a> »</li>
<li><a href="namespaces.html"><span class="section-number">2.3. </span>Namespaces</a> »</li>
<li><a href="namespaceNV.html"><span class="section-number">2.3.1. </span>NV</a> »</li>
<li><a href="namespaceNV_1_1Rules.html">NV::Rules</a> »</li>
<li>NV::Rules::IController</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> </span>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="nv-rules-icontroller">
<h1>NV::Rules::IController<a class="headerlink" href="#nv-rules-icontroller" title="Permalink to this headline"></a></h1>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules11IControllerE">
<span id="_CPPv3N2NV5Rules11IControllerE"></span><span id="_CPPv2N2NV5Rules11IControllerE"></span><span id="NV::Rules::IController"></span><span class="target" id="classnv_1_1rules_1_1icontroller"></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">IController</span></span></span><a class="headerlink" href="#_CPPv4N2NV5Rules11IControllerE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Controller interface. </p>
<p>The controller can be used to interact with the tool runtime, e.g. to signal the tools to propose a follow-up rule. </p>
<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="_CPPv4N2NV5Rules11IController17get_message_vaultEv">
<span id="_CPPv3N2NV5Rules11IController17get_message_vaultEv"></span><span id="_CPPv2N2NV5Rules11IController17get_message_vaultEv"></span><span id="NV::Rules::IController::get_message_vault"></span><span class="target" id="classnv_1_1rules_1_1icontroller_1a452c7915bb0c27cf6e330eeb82f87b90"></span><span class="k"><span class="pre">virtual</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">shared_ptr</span></span><span class="p"><span class="pre"><</span></span><a class="reference internal" href="classNV_1_1Rules_1_1IMessageVault.html#_CPPv4N2NV5Rules13IMessageVaultE" title="NV::Rules::IMessageVault"><span class="n"><span class="pre">IMessageVault</span></span></a><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_message_vault</span></span></span><span class="sig-paren">(</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="#_CPPv4N2NV5Rules11IController17get_message_vaultEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Get an IMessageVault object that can be used for message passing between rules. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules11IController12propose_ruleEPKc">
<span id="_CPPv3N2NV5Rules11IController12propose_ruleEPKc"></span><span id="_CPPv2N2NV5Rules11IController12propose_ruleEPKc"></span><span id="NV::Rules::IController::propose_rule__cCP"></span><span class="target" id="classnv_1_1rules_1_1icontroller_1a347e05e7c40dca5d971a98922532e0b3"></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">propose_rule</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">rule</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="#_CPPv4N2NV5Rules11IController12propose_ruleEPKc" title="Permalink to this definition"></a><br /></dt>
<dd><p>Propose the specified <code class="docutils literal notranslate"><span class="pre">rule</span></code> in the current context. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N2NV5Rules11IControllerD0Ev">
<span id="_CPPv3N2NV5Rules11IControllerD0Ev"></span><span id="_CPPv2N2NV5Rules11IControllerD0Ev"></span><span id="NV::Rules::IController::~IController"></span><span class="target" id="classnv_1_1rules_1_1icontroller_1acd00051eff9ef4afa82b2a46435accb1"></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">~IController</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N2NV5Rules11IControllerD0Ev" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>© Copyright 2018-2024, NVIDIA Corporation & 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>
|