<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.13">
  <compounddef id="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1" kind="class" language="C++" prot="public">
    <compoundname>cudnn_frontend::ExecutionPlanCache_v1</compoundname>
    <derivedcompoundref refid="da/df5/classcudnn__frontend_1_1ExecutionPlanCache__v2" prot="public" virt="non-virtual">cudnn_frontend::ExecutionPlanCache_v2</derivedcompoundref>
    <includes refid="d9/dd3/cudnn__frontend__ExecutionPlanCache_8h" local="no">cudnn_frontend_ExecutionPlanCache.h</includes>
    <innerclass refid="d4/d73/structcudnn__frontend_1_1ExecutionPlanCache__v1_1_1compare" prot="protected">cudnn_frontend::ExecutionPlanCache_v1::compare</innerclass>
      <sectiondef kind="protected-type">
      <memberdef kind="typedef" id="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a48b14498b68c2ad2030e38a6ccb98c15" prot="protected" static="no">
        <type>std::map&lt; <ref refid="df/de1/namespacecudnn__frontend_1a360ee0c724a479660a6bd0815af46ac1" kindref="member">cudnn_frontend::feature_vector_t</ref>, <ref refid="df/de1/namespacecudnn__frontend_1a984c10aa29daac796444bda66bdef26e" kindref="member">cudnn_frontend::ExecutionPlan</ref>, <ref refid="d4/d73/structcudnn__frontend_1_1ExecutionPlanCache__v1_1_1compare" kindref="compound">cudnn_frontend::ExecutionPlanCache_v1::compare</ref> &gt;</type>
        <definition>using cudnn_frontend::ExecutionPlanCache_v1::FeatureVectorToPlanMap =  std::map&lt;cudnn_frontend::feature_vector_t, cudnn_frontend::ExecutionPlan, cudnn_frontend::ExecutionPlanCache_v1::compare&gt;</definition>
        <argsstring></argsstring>
        <name>FeatureVectorToPlanMap</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>String to map of feature_vector to execution plan For a given FeatureVector of type T according to the Operation Graph, we get the plan. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" line="96" column="1" bodyfile="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" bodystart="96" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="protected-attrib">
      <memberdef kind="variable" id="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a968bccc60a1acf84c58befe06da7c553" prot="protected" static="no" mutable="no">
        <type>std::string</type>
        <definition>std::string cudnn_frontend::ExecutionPlanCache_v1::name</definition>
        <argsstring></argsstring>
        <name>name</name>
        <initializer>= &quot;plan_cache_[unnamed]&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" line="92" column="1" bodyfile="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" bodystart="92" bodyend="-1"/>
        <referencedby refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a818a43f69d0fe6068a0cbfe623367753" compoundref="d9/dd3/cudnn__frontend__ExecutionPlanCache_8h" startline="119" endline="121">get_name</referencedby>
        <referencedby refid="da/df5/classcudnn__frontend_1_1ExecutionPlanCache__v2_1a75f65c7d922d206acf28d88bff53e4fe" compoundref="d9/dd3/cudnn__frontend__ExecutionPlanCache_8h" startline="150" endline="167">cudnn_frontend::ExecutionPlanCache_v2::is_fastest_plan_stable</referencedby>
      </memberdef>
      <memberdef kind="variable" id="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a13e174d7eceaa7b06b7e206683d084c5" prot="protected" static="no" mutable="no">
        <type><ref refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a48b14498b68c2ad2030e38a6ccb98c15" kindref="member">FeatureVectorToPlanMap</ref></type>
        <definition>FeatureVectorToPlanMap cudnn_frontend::ExecutionPlanCache_v1::cache</definition>
        <argsstring></argsstring>
        <name>cache</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" line="97" column="1" bodyfile="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" bodystart="97" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a43ca7f73d6656423a3c0fc232d6ab4b5" prot="protected" static="no" mutable="yes">
        <type>std::mutex</type>
        <definition>std::mutex cudnn_frontend::ExecutionPlanCache_v1::cache_mutex</definition>
        <argsstring></argsstring>
        <name>cache_mutex</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" line="99" column="1" bodyfile="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" bodystart="99" bodyend="-1"/>
        <referencedby refid="da/df5/classcudnn__frontend_1_1ExecutionPlanCache__v2_1a75f65c7d922d206acf28d88bff53e4fe" compoundref="d9/dd3/cudnn__frontend__ExecutionPlanCache_8h" startline="150" endline="167">cudnn_frontend::ExecutionPlanCache_v2::is_fastest_plan_stable</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a3cf1a9252e9f57d933f6b1918bf26571" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>bool</type>
        <definition>virtual bool cudnn_frontend::ExecutionPlanCache_v1::is_fastest_plan_stable</definition>
        <argsstring>(const cudnn_frontend::OperationGraph &amp;op_graph, const std::string &amp;tag)</argsstring>
        <name>is_fastest_plan_stable</name>
        <reimplementedby refid="da/df5/classcudnn__frontend_1_1ExecutionPlanCache__v2_1a75f65c7d922d206acf28d88bff53e4fe">is_fastest_plan_stable</reimplementedby>
        <param>
          <type>const <ref refid="df/de1/namespacecudnn__frontend_1ac86ce924df5209c4ce1bc25856eea6e6" kindref="member">cudnn_frontend::OperationGraph</ref> &amp;</type>
          <declname>op_graph</declname>
        </param>
        <param>
          <type>const std::string &amp;</type>
          <declname>tag</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" line="103" column="1" bodyfile="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" bodystart="103" bodyend="106"/>
      </memberdef>
      <memberdef kind="function" id="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a0a60f67637646017b056301c3d1424db" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void cudnn_frontend::ExecutionPlanCache_v1::add_plan_to_cache</definition>
        <argsstring>(const cudnn_frontend::OperationGraph &amp;op_graph, const cudnn_frontend::ExecutionPlan &amp;plan)</argsstring>
        <name>add_plan_to_cache</name>
        <param>
          <type>const <ref refid="df/de1/namespacecudnn__frontend_1ac86ce924df5209c4ce1bc25856eea6e6" kindref="member">cudnn_frontend::OperationGraph</ref> &amp;</type>
          <declname>op_graph</declname>
        </param>
        <param>
          <type>const <ref refid="df/de1/namespacecudnn__frontend_1a984c10aa29daac796444bda66bdef26e" kindref="member">cudnn_frontend::ExecutionPlan</ref> &amp;</type>
          <declname>plan</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" line="108" column="1" bodyfile="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" bodystart="108" bodyend="113"/>
        <references refid="de/dd9/classcudnn__frontend_1_1OperationGraph__v8_1a323f652e94a96660d0186be02561d09f" compoundref="db/d7d/cudnn__frontend__OperationGraph_8h" startline="103" endline="110">cudnn_frontend::OperationGraph_v8::getFeatureVector</references>
        <references refid="df/de1/namespacecudnn__frontend_1ac39691550c5659acffd2386354ed18c6" compoundref="d8/dc4/cudnn__frontend__Logging_8h" startline="72" endline="75">cudnn_frontend::getLogger</references>
        <references refid="de/dd9/classcudnn__frontend_1_1OperationGraph__v8_1a19fd5ed99ab4053c8a178bd33843460a" compoundref="db/d7d/cudnn__frontend__OperationGraph_8h" startline="98" endline="100">cudnn_frontend::OperationGraph_v8::getTag</references>
      </memberdef>
      <memberdef kind="function" id="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1aa5bc2d3bd9e86b2f17cfea2d3ee41d65" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type></type>
        <definition>cudnn_frontend::ExecutionPlanCache_v1::ExecutionPlanCache_v1</definition>
        <argsstring>(const char *name_)</argsstring>
        <name>ExecutionPlanCache_v1</name>
        <param>
          <type>const char *</type>
          <declname>name_</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" line="115" column="1" bodyfile="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" bodystart="115" bodyend="117"/>
      </memberdef>
      <memberdef kind="function" id="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a818a43f69d0fe6068a0cbfe623367753" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>const std::string &amp;</type>
        <definition>const std::string&amp; cudnn_frontend::ExecutionPlanCache_v1::get_name</definition>
        <argsstring>() const</argsstring>
        <name>get_name</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" line="119" column="1" bodyfile="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" bodystart="119" bodyend="121"/>
        <references refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a968bccc60a1acf84c58befe06da7c553" compoundref="d9/dd3/cudnn__frontend__ExecutionPlanCache_8h" startline="92">name</references>
      </memberdef>
      <memberdef kind="function" id="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a86e9eeaddb1da051c26f386469a3e293" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>bool</type>
        <definition>bool cudnn_frontend::ExecutionPlanCache_v1::get_plan_from_cache</definition>
        <argsstring>(const cudnn_frontend::OperationGraph &amp;op_graph, const cudnn_frontend::ExecutionPlan *&amp;plan) const</argsstring>
        <name>get_plan_from_cache</name>
        <param>
          <type>const <ref refid="df/de1/namespacecudnn__frontend_1ac86ce924df5209c4ce1bc25856eea6e6" kindref="member">cudnn_frontend::OperationGraph</ref> &amp;</type>
          <declname>op_graph</declname>
        </param>
        <param>
          <type>const <ref refid="df/de1/namespacecudnn__frontend_1a984c10aa29daac796444bda66bdef26e" kindref="member">cudnn_frontend::ExecutionPlan</ref> *&amp;</type>
          <declname>plan</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" line="124" column="1" bodyfile="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" bodystart="124" bodyend="138"/>
        <references refid="de/dd9/classcudnn__frontend_1_1OperationGraph__v8_1a323f652e94a96660d0186be02561d09f" compoundref="db/d7d/cudnn__frontend__OperationGraph_8h" startline="103" endline="110">cudnn_frontend::OperationGraph_v8::getFeatureVector</references>
        <references refid="df/de1/namespacecudnn__frontend_1ac39691550c5659acffd2386354ed18c6" compoundref="d8/dc4/cudnn__frontend__Logging_8h" startline="72" endline="75">cudnn_frontend::getLogger</references>
        <referencedby refid="da/df5/classcudnn__frontend_1_1ExecutionPlanCache__v2_1a75f65c7d922d206acf28d88bff53e4fe" compoundref="d9/dd3/cudnn__frontend__ExecutionPlanCache_8h" startline="150" endline="167">cudnn_frontend::ExecutionPlanCache_v2::is_fastest_plan_stable</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Plan Cache structure for the above table. </para>    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <inheritancegraph>
      <node id="305">
        <label>cudnn_frontend::ExecutionPlanCache_v1</label>
        <link refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1"/>
      </node>
      <node id="306">
        <label>cudnn_frontend::ExecutionPlanCache_v2</label>
        <link refid="da/df5/classcudnn__frontend_1_1ExecutionPlanCache__v2"/>
        <childnode refid="305" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="313">
        <label>shared_ptr&lt; OpaqueBackendPointer &gt;</label>
      </node>
      <node id="325">
        <label>K</label>
      </node>
      <node id="319">
        <label>T</label>
      </node>
      <node id="320">
        <label>cudnnHandle_t</label>
      </node>
      <node id="323">
        <label>std::vector&lt; T &gt;</label>
        <childnode refid="319" relation="usage">
          <edgelabel>+elements</edgelabel>
        </childnode>
      </node>
      <node id="318">
        <label>std::array&lt; T &gt;</label>
        <childnode refid="319" relation="usage">
          <edgelabel>+elements</edgelabel>
        </childnode>
      </node>
      <node id="324">
        <label>std::map&lt; K, T &gt;</label>
        <childnode refid="325" relation="usage">
          <edgelabel>+keys</edgelabel>
        </childnode>
        <childnode refid="319" relation="usage">
          <edgelabel>+elements</edgelabel>
        </childnode>
      </node>
      <node id="322">
        <label>std::vector&lt; int64_t &gt;</label>
        <childnode refid="321" relation="usage">
          <edgelabel>+elements</edgelabel>
        </childnode>
        <childnode refid="323" relation="template-instance">
          <edgelabel>&lt; int64_t &gt;</edgelabel>
        </childnode>
      </node>
      <node id="315">
        <label>float</label>
      </node>
      <node id="317">
        <label>cudnnBackendNumericalNote_t</label>
      </node>
      <node id="314">
        <label>cudnnStatus_t</label>
      </node>
      <node id="312">
        <label>std::basic_string&lt; char &gt;</label>
      </node>
      <node id="316">
        <label>std::array&lt; cudnnBackendNumericalNote_t, CUDNN_NUMERICAL_NOTE_TYPE_COUNT &gt;</label>
        <childnode refid="317" relation="usage">
          <edgelabel>+elements</edgelabel>
        </childnode>
        <childnode refid="318" relation="template-instance">
          <edgelabel>&lt; cudnnBackendNumericalNote_t, CUDNN_NUMERICAL_NOTE_TYPE_COUNT &gt;</edgelabel>
        </childnode>
      </node>
      <node id="307">
        <label>cudnn_frontend::ExecutionPlanCache_v1</label>
        <link refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1"/>
        <childnode refid="308" relation="usage">
          <edgelabel>#cache</edgelabel>
        </childnode>
        <childnode refid="326" relation="usage">
          <edgelabel>#cache_mutex</edgelabel>
        </childnode>
        <childnode refid="311" relation="usage">
          <edgelabel>#name</edgelabel>
        </childnode>
      </node>
      <node id="309">
        <label>cudnn_frontend::ExecutionPlan_v8</label>
        <link refid="d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8"/>
        <childnode refid="310" relation="public-inheritance">
        </childnode>
        <childnode refid="315" relation="usage">
          <edgelabel>-execution_time_ms</edgelabel>
        </childnode>
        <childnode refid="316" relation="usage">
          <edgelabel>-numeric_notes</edgelabel>
        </childnode>
        <childnode refid="311" relation="usage">
          <edgelabel>-planTag</edgelabel>
        </childnode>
        <childnode refid="320" relation="usage">
          <edgelabel>-handle</edgelabel>
        </childnode>
        <childnode refid="313" relation="usage">
          <edgelabel>-engine_config</edgelabel>
        </childnode>
        <childnode refid="321" relation="usage">
          <edgelabel>-workSpaceSize</edgelabel>
        </childnode>
      </node>
      <node id="326">
        <label>mutex</label>
      </node>
      <node id="321">
        <label>int64_t</label>
      </node>
      <node id="310">
        <label>cudnn_frontend::BackendDescriptor</label>
        <link refid="d6/d88/classcudnn__frontend_1_1BackendDescriptor"/>
        <childnode refid="311" relation="usage">
          <edgelabel>#err_msg</edgelabel>
        </childnode>
        <childnode refid="313" relation="usage">
          <edgelabel>#pointer</edgelabel>
        </childnode>
        <childnode refid="314" relation="usage">
          <edgelabel>#status</edgelabel>
        </childnode>
      </node>
      <node id="308">
        <label>std::map&lt; cudnn_frontend::feature_vector_t, cudnn_frontend::ExecutionPlan, cudnn_frontend::ExecutionPlanCache_v1::compare &gt;</label>
        <childnode refid="309" relation="usage">
          <edgelabel>+elements</edgelabel>
        </childnode>
        <childnode refid="322" relation="usage">
          <edgelabel>+keys</edgelabel>
        </childnode>
        <childnode refid="324" relation="template-instance">
          <edgelabel>&lt; cudnn_frontend::feature_vector_t, cudnn_frontend::ExecutionPlan, cudnn_frontend::ExecutionPlanCache_v1::compare &gt;</edgelabel>
        </childnode>
      </node>
      <node id="311">
        <label>std::string</label>
        <childnode refid="312" relation="public-inheritance">
        </childnode>
      </node>
    </collaborationgraph>
    <location file="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" line="79" column="1" bodyfile="/home/agopal/trees/cudnn-frontend/include/cudnn_frontend_ExecutionPlanCache.h" bodystart="79" bodyend="139"/>
    <listofallmembers>
      <member refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a0a60f67637646017b056301c3d1424db" prot="public" virt="non-virtual"><scope>cudnn_frontend::ExecutionPlanCache_v1</scope><name>add_plan_to_cache</name></member>
      <member refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a13e174d7eceaa7b06b7e206683d084c5" prot="protected" virt="non-virtual"><scope>cudnn_frontend::ExecutionPlanCache_v1</scope><name>cache</name></member>
      <member refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a43ca7f73d6656423a3c0fc232d6ab4b5" prot="protected" virt="non-virtual"><scope>cudnn_frontend::ExecutionPlanCache_v1</scope><name>cache_mutex</name></member>
      <member refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1aa5bc2d3bd9e86b2f17cfea2d3ee41d65" prot="public" virt="non-virtual"><scope>cudnn_frontend::ExecutionPlanCache_v1</scope><name>ExecutionPlanCache_v1</name></member>
      <member refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a48b14498b68c2ad2030e38a6ccb98c15" prot="protected" virt="non-virtual"><scope>cudnn_frontend::ExecutionPlanCache_v1</scope><name>FeatureVectorToPlanMap</name></member>
      <member refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a818a43f69d0fe6068a0cbfe623367753" prot="public" virt="non-virtual"><scope>cudnn_frontend::ExecutionPlanCache_v1</scope><name>get_name</name></member>
      <member refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a86e9eeaddb1da051c26f386469a3e293" prot="public" virt="non-virtual"><scope>cudnn_frontend::ExecutionPlanCache_v1</scope><name>get_plan_from_cache</name></member>
      <member refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a3cf1a9252e9f57d933f6b1918bf26571" prot="public" virt="virtual"><scope>cudnn_frontend::ExecutionPlanCache_v1</scope><name>is_fastest_plan_stable</name></member>
      <member refid="dc/d6e/classcudnn__frontend_1_1ExecutionPlanCache__v1_1a968bccc60a1acf84c58befe06da7c553" prot="protected" virt="non-virtual"><scope>cudnn_frontend::ExecutionPlanCache_v1</scope><name>name</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
