-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Documenter.jl
committed
Nov 15, 2024
1 parent
f0a7d38
commit 050b042
Showing
78 changed files
with
4,198 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
v0.6.32 | ||
v0.6.33 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
v0.6.32 | ||
v0.6.33 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-15T23:27:57","documenter_version":"1.8.0"}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Community and Contributions · Finch.jl</title><meta name="title" content="Community and Contributions · Finch.jl"/><meta property="og:title" content="Community and Contributions · Finch.jl"/><meta property="twitter:title" content="Community and Contributions · Finch.jl"/><meta name="description" content="Documentation for Finch.jl."/><meta property="og:description" content="Documentation for Finch.jl."/><meta property="twitter:description" content="Documentation for Finch.jl."/><meta property="og:url" content="https://finch-tensor.github.io/Finch.jl/CONTRIBUTING/"/><meta property="twitter:url" content="https://finch-tensor.github.io/Finch.jl/CONTRIBUTING/"/><link rel="canonical" href="https://finch-tensor.github.io/Finch.jl/CONTRIBUTING/"/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script><link href="../assets/favicon.ico" rel="icon" type="image/x-icon"/></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.png" alt="Finch.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">Finch.jl</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><span class="tocitem">Comprehensive Guides</span><ul><li><a class="tocitem" href="../guides/calling_finch/">Calling Finch</a></li><li><a class="tocitem" href="../guides/tensor_formats/">Tensor Formats</a></li><li><a class="tocitem" href="../guides/sparse_utils/">Sparse and Structured Utilities</a></li><li><a class="tocitem" href="../guides/finch_language/">The Finch Language</a></li><li><a class="tocitem" href="../guides/dimensionalization/">Dimensionalization</a></li><li><a class="tocitem" href="../guides/index_sugar/">Index Sugar</a></li><li><a class="tocitem" href="../guides/mask_sugar/">Mask Sugar</a></li><li><a class="tocitem" href="../guides/iteration_protocols/">Iteration Protocols</a></li><li><a class="tocitem" href="../guides/user-defined_functions/">User-Defined Functions</a></li><li><a class="tocitem" href="../guides/array_api/">High-Level Array API</a></li><li><a class="tocitem" href="../guides/parallelization/">Parallelization</a></li><li><a class="tocitem" href="../guides/fileio/">FileIO</a></li><li><a class="tocitem" href="../guides/interoperability/">Interoperability</a></li><li><a class="tocitem" href="../guides/optimization_tips/">Optimization Tips</a></li><li><a class="tocitem" href="../guides/benchmarking_tips/">Benchmarking Tips</a></li></ul></li><li><span class="tocitem">Technical Reference</span><ul><li><a class="tocitem" href="../reference/listing/">Documentation Listing</a></li><li><input class="collapse-toggle" id="menuitem-3-2" type="checkbox"/><label class="tocitem" for="menuitem-3-2"><span class="docs-label">Advanced Internal Details</span><i class="docs-chevron"></i></label><ul class="collapsed"><li><a class="tocitem" href="../reference/internals/virtualization/">Virtualization</a></li><li><a class="tocitem" href="../reference/internals/tensor_interface/">Tensor Interface</a></li><li><a class="tocitem" href="../reference/internals/compiler_interface/">Compiler Interfaces</a></li><li><a class="tocitem" href="../reference/internals/finch_notation/">Finch Notation</a></li><li><a class="tocitem" href="../reference/internals/finch_logic/">Finch Logic</a></li></ul></li></ul></li><li class="is-active"><a class="tocitem" href>Community and Contributions</a><ul class="internal"><li><a class="tocitem" href="#Versions"><span>Versions</span></a></li><li><a class="tocitem" href="#Utilities"><span>Utilities</span></a></li><li><a class="tocitem" href="#Testing"><span>Testing</span></a></li><li><a class="tocitem" href="#Benchmarking"><span>Benchmarking</span></a></li><li><a class="tocitem" href="#Documentation"><span>Documentation</span></a></li></ul></li><li><span class="tocitem">Appendices and Additional Resources</span><ul><li><a class="tocitem" href="../appendices/directory_structure/">Directory Structure</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Community and Contributions</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Community and Contributions</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/finch-tensor/Finch.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/finch-tensor/Finch.jl/blob/main/CONTRIBUTING.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><p>We welcome contributions to Finch, and follow the <a href="https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md">Julia contributing guidelines</a>. If you use or want to use Finch and have a question or bug, please do file a <a href="https://github.com/finch-tensor/Finch.jl/issues">Github issue</a>! If you want to contribute to Finch, please first file an issue to double check that there is interest from a contributor in the feature.</p><h2 id="Versions"><a class="docs-heading-anchor" href="#Versions">Versions</a><a id="Versions-1"></a><a class="docs-heading-anchor-permalink" href="#Versions" title="Permalink"></a></h2><p>Finch is currently in a pre-release state. The API is not yet stable, and breaking changes may occur between minor versions. We follow <a href="https://semver.org/">semantic versioning</a> and will release 1.0 when the API is stable. The main branch of the Finch repo is the most up-to-date development branch. While it is not stable, it should always pass tests.</p><p>Contributors will develop and test Finch from a local directory. Please see the <a href="https://pkgdocs.julialang.org/v1/getting-started/">Package documentation</a> for more info, particularly the section on <a href="https://pkgdocs.julialang.org/v1/managing-packages/#developing">developing</a>.</p><p>To determine which version of Finch you have, run <code>Pkg.status("Finch")</code> in the Julia REPL. If the installed version of Finch tracks a local path, the output will include the path like so:</p><pre><code class="nohighlight hljs">Status `~/.julia/environments/v1.9/Project.toml` | ||
[9177782c] Finch v0.5.4 `~/Projects/Finch.jl`</code></pre><p>If the installed version of Finch tracks a particular version (probably not what you want since it will not reflect local changes), the output will look like this:</p><pre><code class="nohighlight hljs">Status `~/.julia/environments/v1.8/Project.toml` | ||
[9177782c] Finch v0.5.4</code></pre><h2 id="Utilities"><a class="docs-heading-anchor" href="#Utilities">Utilities</a><a id="Utilities-1"></a><a class="docs-heading-anchor-permalink" href="#Utilities" title="Permalink"></a></h2><p>Finch include several scripts that can be executed directly, e.g. <code>runtests.jl</code>. These scripts are all have local <a href="https://pkgdocs.julialang.org/v1/getting-started/#Getting-Started-with-Environments">Pkg environments</a>. The scripts include convenience headers to automatically use their respective environments, so you won't need to worry about <code>--project=.</code> flags, etc.</p><h2 id="Testing"><a class="docs-heading-anchor" href="#Testing">Testing</a><a id="Testing-1"></a><a class="docs-heading-anchor-permalink" href="#Testing" title="Permalink"></a></h2><p>All pull requests should pass continuous integration testing before merging. The test suite has a few options, which are accessible through running the test suite directly as <code>./test/runtests.jl</code>.</p><p>Finch compares compiler output against reference versions.</p><p>If you have the appropriate permissions, you can run the <a href="https://github.com/finch-tensor/Finch.jl/actions/workflows/FixBot.yml">FixBot</a> github action on your PR branch to automatically generate output for both 32-bit and 64-bit builds.</p><p>If you run the test suite directly you can pass the <code>--overwrite</code> flag to tell the test suite to overwrite the reference. Because the reference output depends on the system word size, you'll need to generate reference output for 32-bit and 64-bit builds of Julia to get Finch to pass tests. The easiest way to do this is to run each 32-bit or 64-bit build of Julia on a system that supports it. You can <a href="https://julialang.org/downloads/">Download</a> multiple builds yourself or use <a href="https://github.com/JuliaLang/juliaup">juliaup</a> to manage multiple versions. Using juliaup, it might look like this:</p><pre><code class="nohighlight hljs">julia +release~x86 test/runtests.jl --overwrite | ||
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=<PATH_TO_FINCH_REPO> 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 23:27">Friday 15 November 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> |
Oops, something went wrong.