<?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.9.6" xml:lang="en-US">
  <compounddef id="classtf_1_1cudaFlowSequentialOptimizer" kind="class" language="C++" prot="public">
    <compoundname>tf::cudaFlowSequentialOptimizer</compoundname>
    <basecompoundref prot="public" virt="non-virtual">tf::cudaFlowOptimizerBase</basecompoundref>
    <includes refid="cuda__optimizer_8hpp" local="no">cuda_optimizer.hpp</includes>
      <sectiondef kind="friend">
      <memberdef kind="friend" id="classtf_1_1cudaFlowSequentialOptimizer_1a672b45d300c57d726c203c62f950efbd" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>class</type>
        <definition>friend class cudaFlowCapturer</definition>
        <argsstring></argsstring>
        <name>cudaFlowCapturer</name>
        <qualifiedname>tf::cudaFlowSequentialOptimizer::cudaFlowCapturer</qualifiedname>
        <param>
          <type><ref refid="classtf_1_1cudaFlowCapturer" kindref="compound">cudaFlowCapturer</ref></type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/twhuang/Code/taskflow/taskflow/cuda/cuda_optimizer.hpp" line="136" column="16" bodyfile="/Users/twhuang/Code/taskflow/taskflow/cuda/cuda_optimizer.hpp" bodystart="136" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classtf_1_1cudaFlowSequentialOptimizer_1a83c8d618b0e3ea4a838845bd819057e1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>tf::cudaFlowSequentialOptimizer::cudaFlowSequentialOptimizer</definition>
        <argsstring>()=default</argsstring>
        <name>cudaFlowSequentialOptimizer</name>
        <qualifiedname>tf::cudaFlowSequentialOptimizer::cudaFlowSequentialOptimizer</qualifiedname>
        <briefdescription>
<para>constructs a sequential optimizer </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/twhuang/Code/taskflow/taskflow/cuda/cuda_optimizer.hpp" line="143" column="5"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-func">
      <memberdef kind="function" id="classtf_1_1cudaFlowSequentialOptimizer_1a0bf59a8ce8c0ee8dd2ae9f7af192e3ad" prot="private" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>cudaGraph_t</type>
        <definition>cudaGraph_t tf::cudaFlowSequentialOptimizer::_optimize</definition>
        <argsstring>(cudaFlowGraph &amp;graph)</argsstring>
        <name>_optimize</name>
        <qualifiedname>tf::cudaFlowSequentialOptimizer::_optimize</qualifiedname>
        <param>
          <type>cudaFlowGraph &amp;</type>
          <declname>graph</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/twhuang/Code/taskflow/taskflow/cuda/cuda_optimizer.hpp" line="147" column="17" bodyfile="/Users/twhuang/Code/taskflow/taskflow/cuda/cuda_optimizer.hpp" bodystart="150" bodyend="165"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>class to capture a CUDA graph using a sequential stream </para>
    </briefdescription>
    <detaileddescription>
<para>A sequential capturing algorithm finds a topological order of the described graph and captures dependent GPU tasks using a single stream. All GPU tasks run sequentially without breaking inter dependencies. </para>
    </detaileddescription>
    <inheritancegraph>
      <node id="2">
        <label>tf::cudaFlowOptimizerBase</label>
      </node>
      <node id="1">
        <label>tf::cudaFlowSequentialOptimizer</label>
        <link refid="classtf_1_1cudaFlowSequentialOptimizer"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="2">
        <label>tf::cudaFlowOptimizerBase</label>
      </node>
      <node id="1">
        <label>tf::cudaFlowSequentialOptimizer</label>
        <link refid="classtf_1_1cudaFlowSequentialOptimizer"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
      </node>
    </collaborationgraph>
    <location file="/Users/twhuang/Code/taskflow/taskflow/cuda/cuda_optimizer.hpp" line="134" column="1" bodyfile="/Users/twhuang/Code/taskflow/taskflow/cuda/cuda_optimizer.hpp" bodystart="134" bodyend="148"/>
    <listofallmembers>
      <member refid="classtf_1_1cudaFlowOptimizerBase_1ae20d9b88a98439f8d8ee5f6280b15744" prot="protected" virt="non-virtual"><scope>tf::cudaFlowSequentialOptimizer</scope><name>_levelize</name></member>
      <member refid="classtf_1_1cudaFlowSequentialOptimizer_1a0bf59a8ce8c0ee8dd2ae9f7af192e3ad" prot="private" virt="non-virtual"><scope>tf::cudaFlowSequentialOptimizer</scope><name>_optimize</name></member>
      <member refid="classtf_1_1cudaFlowOptimizerBase_1a25bb1274b6ab2279e261690a5fe46007" prot="protected" virt="non-virtual"><scope>tf::cudaFlowSequentialOptimizer</scope><name>_toposort</name></member>
      <member refid="classtf_1_1cudaFlowSequentialOptimizer_1a672b45d300c57d726c203c62f950efbd" prot="private" virt="non-virtual"><scope>tf::cudaFlowSequentialOptimizer</scope><name>cudaFlowCapturer</name></member>
      <member refid="classtf_1_1cudaFlowSequentialOptimizer_1a83c8d618b0e3ea4a838845bd819057e1" prot="public" virt="non-virtual"><scope>tf::cudaFlowSequentialOptimizer</scope><name>cudaFlowSequentialOptimizer</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
