Skip to content

Commit

Permalink
build based on b3da7bd
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Nov 15, 2024
1 parent ff83074 commit f0a7d38
Show file tree
Hide file tree
Showing 35 changed files with 106 additions and 106 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-14T21:27:31","documenter_version":"1.8.0"}}
{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-15T21:18:49","documenter_version":"1.8.0"}}
2 changes: 1 addition & 1 deletion dev/CONTRIBUTING/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
julia +release~x64 test/runtests.jl --overwrite</code></pre><p>The test suite takes a while to run. You can filter to only run a selection of test suites by specifying them as positional arguments, e.g.</p><pre><code class="nohighlight hljs">./test/runtests.jl constructors conversions representation</code></pre><p>This information is summarized with <code>./test/runtests.jl --help</code></p><h3 id="Python-test-suite"><a class="docs-heading-anchor" href="#Python-test-suite">Python test suite</a><a id="Python-test-suite-1"></a><a class="docs-heading-anchor-permalink" href="#Python-test-suite" title="Permalink"></a></h3><p><a href="https://github.com/finch-tensor/finch-tensor-python">finch-tensor-python</a> contains a separate Array API compatible test suite written in Python. It requires Python 3.10 or later and Poetry installed.</p><p>It can be run with:</p><pre><code class="language-sh hljs">git clone https://github.com/finch-tensor/finch-tensor-python.git
cd finch-tensor-python
poetry install --with test
FINCH_REPO_PATH=&lt;PATH_TO_FINCH_REPO&gt; poetry run pytest tests/</code></pre><h2 id="Benchmarking"><a class="docs-heading-anchor" href="#Benchmarking">Benchmarking</a><a id="Benchmarking-1"></a><a class="docs-heading-anchor-permalink" href="#Benchmarking" title="Permalink"></a></h2><p>The Finch test suite includes a benchmarking script that measures Finch performance on a variety of kernels. It also includes some scripts to help compare Finch performance on the feature branch to the main branch. To run the benchmarking script, run <code>./benchmarks/runbenchmarks.jl</code>. To run the comparison script, run <code>./benchmarks/runjudge.jl</code>. Both scripts take a while to run and generate a report at the end.</p><h2 id="Documentation"><a class="docs-heading-anchor" href="#Documentation">Documentation</a><a id="Documentation-1"></a><a class="docs-heading-anchor-permalink" href="#Documentation" title="Permalink"></a></h2><p>The <code>/docs</code> directory includes Finch documentation in <code>/src</code>, and a built website in <code>/build</code>. You can build the website with <code>./docs/make.jl</code>. You can run doctests with <code>./docs/test.jl</code>, and fix doctests with <code>./docs/fix.jl</code>, though both are included as part of the test suite.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../reference/internals/finch_logic/">« Finch Logic</a><a class="docs-footer-nextpage" href="../appendices/directory_structure/">Directory Structure »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.8.0 on <span class="colophon-date" title="Thursday 14 November 2024 21:27">Thursday 14 November 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
FINCH_REPO_PATH=&lt;PATH_TO_FINCH_REPO&gt; poetry run pytest tests/</code></pre><h2 id="Benchmarking"><a class="docs-heading-anchor" href="#Benchmarking">Benchmarking</a><a id="Benchmarking-1"></a><a class="docs-heading-anchor-permalink" href="#Benchmarking" title="Permalink"></a></h2><p>The Finch test suite includes a benchmarking script that measures Finch performance on a variety of kernels. It also includes some scripts to help compare Finch performance on the feature branch to the main branch. To run the benchmarking script, run <code>./benchmarks/runbenchmarks.jl</code>. To run the comparison script, run <code>./benchmarks/runjudge.jl</code>. Both scripts take a while to run and generate a report at the end.</p><h2 id="Documentation"><a class="docs-heading-anchor" href="#Documentation">Documentation</a><a id="Documentation-1"></a><a class="docs-heading-anchor-permalink" href="#Documentation" title="Permalink"></a></h2><p>The <code>/docs</code> directory includes Finch documentation in <code>/src</code>, and a built website in <code>/build</code>. You can build the website with <code>./docs/make.jl</code>. You can run doctests with <code>./docs/test.jl</code>, and fix doctests with <code>./docs/fix.jl</code>, though both are included as part of the test suite.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../reference/internals/finch_logic/">« Finch Logic</a><a class="docs-footer-nextpage" href="../appendices/directory_structure/">Directory Structure »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.8.0 on <span class="colophon-date" title="Friday 15 November 2024 21:18">Friday 15 November 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/appendices/changelog/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/appendices/directory_structure/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@
├── [Manifest.toml] # local listing of installed dependencies (don&#39;t commit this)
├── LICENSE
├── CONTRIBUTING.md
└── README.md</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../CONTRIBUTING/">« Community and Contributions</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.8.0 on <span class="colophon-date" title="Thursday 14 November 2024 21:27">Thursday 14 November 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
└── README.md</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../CONTRIBUTING/">« Community and Contributions</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.8.0 on <span class="colophon-date" title="Friday 15 November 2024 21:18">Friday 15 November 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/appendices/faqs/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/appendices/glossary/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/appendices/publications_articles/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/getting_started/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dev/guides/array_api/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,10 @@
y = lazy(rand(10))
z = x + y
z = z + 1
z = compute(z)</code></pre><p>will not actually compute <code>z</code> until <code>compute(z)</code> is called, so the execution of <code>x + y</code> is fused with the execution of <code>z + 1</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/finch-tensor/Finch.jl/blob/9cd089588e31992f81342da09478fcc1526b2021/src/interface/lazy.jl#L440-L456">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Finch.compute" href="#Finch.compute"><code>Finch.compute</code></a><span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">compute(args..., ctx=default_scheduler()) -&gt; Any</code></pre><p>Compute the value of a lazy tensor. The result is the argument itself, or a tuple of arguments if multiple arguments are passed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/finch-tensor/Finch.jl/blob/9cd089588e31992f81342da09478fcc1526b2021/src/interface/lazy.jl#L504-L509">source</a></section></article><h1 id="Einsum"><a class="docs-heading-anchor" href="#Einsum">Einsum</a><a id="Einsum-1"></a><a class="docs-heading-anchor-permalink" href="#Einsum" title="Permalink"></a></h1><p>Finch also supports a highly general <code>@einsum</code> macro which supports any reduction over any simple pointwise array expression.</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Finch.@einsum" href="#Finch.@einsum"><code>Finch.@einsum</code></a><span class="docstring-category">Macro</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">@einsum tns[idxs...] &lt;&lt;op&gt;&gt;= ex...</code></pre><p>Construct an einsum expression that computes the result of applying <code>op</code> to the tensor <code>tns</code> with the indices <code>idxs</code> and the tensors in the expression <code>ex</code>. The result is stored in the variable <code>tns</code>.</p><p><code>ex</code> may be any pointwise expression consisting of function calls and tensor references of the form <code>tns[idxs...]</code>, where <code>tns</code> and <code>idxs</code> are symbols.</p><p>The <code>&lt;&lt;op&gt;&gt;</code> operator can be any binary operator that is defined on the element type of the expression <code>ex</code>.</p><p>The einsum will evaluate the pointwise expression <code>tns[idxs...] &lt;&lt;op&gt;&gt;= ex...</code> over all combinations of index values in <code>tns</code> and the tensors in <code>ex</code>.</p><p>Here are a few examples:</p><pre><code class="nohighlight hljs">@einsum C[i, j] += A[i, k] * B[k, j]
z = compute(z)</code></pre><p>will not actually compute <code>z</code> until <code>compute(z)</code> is called, so the execution of <code>x + y</code> is fused with the execution of <code>z + 1</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/finch-tensor/Finch.jl/blob/b3da7bdaab5065a558f884287e24738db6fcc9ef/src/interface/lazy.jl#L440-L456">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Finch.compute" href="#Finch.compute"><code>Finch.compute</code></a><span class="docstring-category">Function</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">compute(args..., ctx=default_scheduler()) -&gt; Any</code></pre><p>Compute the value of a lazy tensor. The result is the argument itself, or a tuple of arguments if multiple arguments are passed.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/finch-tensor/Finch.jl/blob/b3da7bdaab5065a558f884287e24738db6fcc9ef/src/interface/lazy.jl#L504-L509">source</a></section></article><h1 id="Einsum"><a class="docs-heading-anchor" href="#Einsum">Einsum</a><a id="Einsum-1"></a><a class="docs-heading-anchor-permalink" href="#Einsum" title="Permalink"></a></h1><p>Finch also supports a highly general <code>@einsum</code> macro which supports any reduction over any simple pointwise array expression.</p><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Finch.@einsum" href="#Finch.@einsum"><code>Finch.@einsum</code></a><span class="docstring-category">Macro</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">@einsum tns[idxs...] &lt;&lt;op&gt;&gt;= ex...</code></pre><p>Construct an einsum expression that computes the result of applying <code>op</code> to the tensor <code>tns</code> with the indices <code>idxs</code> and the tensors in the expression <code>ex</code>. The result is stored in the variable <code>tns</code>.</p><p><code>ex</code> may be any pointwise expression consisting of function calls and tensor references of the form <code>tns[idxs...]</code>, where <code>tns</code> and <code>idxs</code> are symbols.</p><p>The <code>&lt;&lt;op&gt;&gt;</code> operator can be any binary operator that is defined on the element type of the expression <code>ex</code>.</p><p>The einsum will evaluate the pointwise expression <code>tns[idxs...] &lt;&lt;op&gt;&gt;= ex...</code> over all combinations of index values in <code>tns</code> and the tensors in <code>ex</code>.</p><p>Here are a few examples:</p><pre><code class="nohighlight hljs">@einsum C[i, j] += A[i, k] * B[k, j]
@einsum C[i, j, k] += A[i, j] * B[j, k]
@einsum D[i, k] += X[i, j] * Y[j, k]
@einsum J[i, j] = H[i, j] * I[i, j]
@einsum N[i, j] = K[i, k] * L[k, j] - M[i, j]
@einsum R[i, j] &lt;&lt;max&gt;&gt;= P[i, k] + Q[k, j]
@einsum x[i] = A[i, j] * x[j]</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/finch-tensor/Finch.jl/blob/9cd089588e31992f81342da09478fcc1526b2021/src/interface/einsum.jl#L135-L161">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../user-defined_functions/">« User-Defined Functions</a><a class="docs-footer-nextpage" href="../parallelization/">Parallelization »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.8.0 on <span class="colophon-date" title="Thursday 14 November 2024 21:27">Thursday 14 November 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
@einsum x[i] = A[i, j] * x[j]</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://github.com/finch-tensor/Finch.jl/blob/b3da7bdaab5065a558f884287e24738db6fcc9ef/src/interface/einsum.jl#L135-L161">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../user-defined_functions/">« User-Defined Functions</a><a class="docs-footer-nextpage" href="../parallelization/">Parallelization »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.8.0 on <span class="colophon-date" title="Friday 15 November 2024 21:18">Friday 15 November 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit f0a7d38

Please sign in to comment.