|
235 | 235 | <div class="pytorch-left-menu-search">
|
236 | 236 |
|
237 | 237 | <div class="version">
|
238 |
| - <a href='https://pytorch.org/docs/versions.html'>master (2.1.0a0+git763e0a9 ) ▼</a> |
| 238 | + <a href='https://pytorch.org/docs/versions.html'>master (2.1.0a0+gitd1fbd33 ) ▼</a> |
239 | 239 | </div>
|
240 | 240 |
|
241 | 241 |
|
@@ -2003,6 +2003,35 @@ <h1>Source code for torch</h1><div class="highlight"><pre>
|
2003 | 2003 | <span class="kn">from</span> <span class="nn">torch._inductor.cudagraph_trees</span> <span class="kn">import</span> <span class="n">reset_cudagraph_trees</span>
|
2004 | 2004 | <span class="n">reset_cudagraph_trees</span><span class="p">()</span>
|
2005 | 2005 |
|
| 2006 | +<span class="k">class</span> <span class="nc">_TorchCompileWrapper</span><span class="p">:</span> |
| 2007 | + <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">backend</span><span class="p">,</span> <span class="n">mode</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">dynamic</span><span class="p">):</span> |
| 2008 | + <span class="kn">from</span> <span class="nn">torch._dynamo.backends.registry</span> <span class="kn">import</span> <span class="n">lookup_backend</span> |
| 2009 | + |
| 2010 | + <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">backend</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span> |
| 2011 | + <span class="bp">self</span><span class="o">.</span><span class="n">compiler_name</span> <span class="o">=</span> <span class="n">backend</span> |
| 2012 | + <span class="k">elif</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">backend</span><span class="p">,</span> <span class="s2">"__name__"</span><span class="p">):</span> |
| 2013 | + <span class="bp">self</span><span class="o">.</span><span class="n">compiler_name</span> <span class="o">=</span> <span class="n">backend</span><span class="o">.</span><span class="vm">__name__</span> |
| 2014 | + <span class="k">else</span><span class="p">:</span> |
| 2015 | + <span class="bp">self</span><span class="o">.</span><span class="n">compiler_name</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">backend</span><span class="p">)</span> |
| 2016 | + <span class="bp">self</span><span class="o">.</span><span class="n">dynamic</span> <span class="o">=</span> <span class="n">dynamic</span> |
| 2017 | + <span class="bp">self</span><span class="o">.</span><span class="n">compiler_fn</span> <span class="o">=</span> <span class="n">lookup_backend</span><span class="p">(</span><span class="n">backend</span><span class="p">)</span> |
| 2018 | + <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span> <span class="o">=</span> <span class="p">{}</span> |
| 2019 | + <span class="c1"># only pass the args if they non-empty</span> |
| 2020 | + <span class="k">if</span> <span class="n">mode</span> <span class="ow">and</span> <span class="n">mode</span> <span class="o">!=</span> <span class="s2">"default"</span><span class="p">:</span> |
| 2021 | + <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">[</span><span class="s2">"mode"</span><span class="p">]</span> <span class="o">=</span> <span class="n">mode</span> |
| 2022 | + <span class="k">if</span> <span class="n">options</span><span class="p">:</span> |
| 2023 | + <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">[</span><span class="s2">"options"</span><span class="p">]</span> <span class="o">=</span> <span class="n">options</span> |
| 2024 | + |
| 2025 | + <span class="k">def</span> <span class="fm">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| 2026 | + <span class="k">return</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">_TorchCompileWrapper</span><span class="p">)</span> <span class="ow">and</span> |
| 2027 | + <span class="bp">self</span><span class="o">.</span><span class="n">compiler_fn</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">compiler_fn</span> <span class="ow">and</span> |
| 2028 | + <span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">kwargs</span> <span class="ow">and</span> |
| 2029 | + <span class="bp">self</span><span class="o">.</span><span class="n">dynamic</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">dynamic</span><span class="p">)</span> |
| 2030 | + |
| 2031 | + <span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">model_</span><span class="p">,</span> <span class="n">inputs_</span><span class="p">):</span> |
| 2032 | + <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">compiler_fn</span><span class="p">(</span><span class="n">model_</span><span class="p">,</span> <span class="n">inputs_</span><span class="p">,</span> <span class="o">**</span><span class="bp">self</span><span class="o">.</span><span class="n">kwargs</span><span class="p">)</span> |
| 2033 | + |
| 2034 | + |
2006 | 2035 | <div class="viewcode-block" id="compile"><a class="viewcode-back" href="../generated/torch.compile.html#torch.compile">[docs]</a><span class="k">def</span> <span class="nf">compile</span><span class="p">(</span><span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Callable</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span>
|
2007 | 2036 | <span class="n">fullgraph</span><span class="p">:</span> <span class="n">builtins</span><span class="o">.</span><span class="n">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
|
2008 | 2037 | <span class="n">dynamic</span><span class="p">:</span> <span class="n">builtins</span><span class="o">.</span><span class="n">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
|
@@ -2067,6 +2096,8 @@ <h1>Source code for torch</h1><div class="highlight"><pre>
|
2067 | 2096 | <span class="n">mode</span> <span class="o">=</span> <span class="s2">"default"</span>
|
2068 | 2097 | <span class="k">if</span> <span class="n">backend</span> <span class="o">==</span> <span class="s2">"inductor"</span><span class="p">:</span>
|
2069 | 2098 | <span class="n">backend</span> <span class="o">=</span> <span class="n">_TorchCompileInductorWrapper</span><span class="p">(</span><span class="n">mode</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">dynamic</span><span class="p">)</span>
|
| 2099 | + <span class="k">else</span><span class="p">:</span> |
| 2100 | + <span class="n">backend</span> <span class="o">=</span> <span class="n">_TorchCompileWrapper</span><span class="p">(</span><span class="n">backend</span><span class="p">,</span> <span class="n">mode</span><span class="p">,</span> <span class="n">options</span><span class="p">,</span> <span class="n">dynamic</span><span class="p">)</span> |
2070 | 2101 |
|
2071 | 2102 | <span class="k">return</span> <span class="n">torch</span><span class="o">.</span><span class="n">_dynamo</span><span class="o">.</span><span class="n">optimize</span><span class="p">(</span><span class="n">backend</span><span class="o">=</span><span class="n">backend</span><span class="p">,</span> <span class="n">nopython</span><span class="o">=</span><span class="n">fullgraph</span><span class="p">,</span> <span class="n">dynamic</span><span class="o">=</span><span class="n">dynamic</span><span class="p">,</span> <span class="n">disable</span><span class="o">=</span><span class="n">disable</span><span class="p">)(</span><span class="n">model</span><span class="p">)</span></div>
|
2072 | 2103 |
|
|
0 commit comments