Skip to content

Commit

Permalink
build based on c309c2b
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Nov 25, 2024
1 parent ce56df6 commit 41b38c5
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 33 deletions.
2 changes: 1 addition & 1 deletion previews/PR60/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.10.6","generation_timestamp":"2024-11-25T19:51:25","documenter_version":"1.8.0"}}
{"documenter":{"julia_version":"1.10.6","generation_timestamp":"2024-11-25T19:51:53","documenter_version":"1.8.0"}}
2 changes: 1 addition & 1 deletion previews/PR60/lib/checkpointing/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
alg,
model,
loop,
)</code></pre><p>This macro is supposed to be only used in conjunction with ChainRules. It does not initialize the shadowcopy. Apply the checkpointing scheme <code>alg</code> on the loop <code>loop</code> expression. <code>model</code> is the primal struct. <code>shadowmodel</code> contains the adjoints and is created here. It is supposed to be initialized by ChainRules.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/1250b63ea53ef89562a2451982d136a6bb318c0b/src/Checkpointing.jl#L151-L163">source</a></section></article><h2 id="Supported-Schemes"><a class="docs-heading-anchor" href="#Supported-Schemes">Supported Schemes</a><a id="Supported-Schemes-1"></a><a class="docs-heading-anchor-permalink" href="#Supported-Schemes" title="Permalink"></a></h2><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="Checkpointing.Revolve" href="#Checkpointing.Revolve"><code>Checkpointing.Revolve</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">Revolve</code></pre><p>This is a Julia adaptation of the functionality of Revolve; see Alg. 799 published by Griewank et al. A minor extension is the optional <code>bundle</code> parameter that allows to treat as many loop iterations in one tape/adjoint sweep. If <code>bundle</code> is 1, the default, then the behavior is that of Alg. 799.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/1250b63ea53ef89562a2451982d136a6bb318c0b/src/Schemes/Revolve.jl#L1-L8">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="Checkpointing.Periodic" href="#Checkpointing.Periodic"><code>Checkpointing.Periodic</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">Periodic</code></pre><p>Periodic checkpointing scheme.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/1250b63ea53ef89562a2451982d136a6bb318c0b/src/Schemes/Periodic.jl#L6-L11">source</a></section></article><h2 id="Supported-Storages"><a class="docs-heading-anchor" href="#Supported-Storages">Supported Storages</a><a id="Supported-Storages-1"></a><a class="docs-heading-anchor-permalink" href="#Supported-Storages" title="Permalink"></a></h2><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="Checkpointing.ArrayStorage" href="#Checkpointing.ArrayStorage"><code>Checkpointing.ArrayStorage</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">ArrayStorage</code></pre><p>Array (RAM) storage for checkpointing.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/1250b63ea53ef89562a2451982d136a6bb318c0b/src/Storage/ArrayStorage.jl#L1-L6">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="Checkpointing.HDF5Storage" href="#Checkpointing.HDF5Storage"><code>Checkpointing.HDF5Storage</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">HDF5Storage</code></pre><p>A storage type for checkpointing that uses HDF5 files to store the checkpoints.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/1250b63ea53ef89562a2451982d136a6bb318c0b/src/Storage/HDF5Storage.jl#L1-L6">source</a></section></article><h2 id="Developer-variables-for-implementing-new-schemes"><a class="docs-heading-anchor" href="#Developer-variables-for-implementing-new-schemes">Developer variables for implementing new schemes</a><a id="Developer-variables-for-implementing-new-schemes-1"></a><a class="docs-heading-anchor-permalink" href="#Developer-variables-for-implementing-new-schemes" title="Permalink"></a></h2><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="Checkpointing.Scheme" href="#Checkpointing.Scheme"><code>Checkpointing.Scheme</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">Scheme</code></pre><p>Abstract type from which all checkpointing schemes are derived.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/1250b63ea53ef89562a2451982d136a6bb318c0b/src/Checkpointing.jl#L8-L13">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="Checkpointing.ActionFlag" href="#Checkpointing.ActionFlag"><code>Checkpointing.ActionFlag</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">ActionFlag</code></pre><p>Each checkpointing algorithm currently uses the same ActionFlag type for setting the next action in the checkpointing scheme none: no action store: store a checkpoint now equivalent to TAKESHOT in Alg. 79 restore: restore a checkpoint now equivalent to RESTORE in Alg. 79 forward: execute iteration(s) forward equivalent to ADVANCE in Alg. 79 firstuturn: tape iteration(s); optionally leave to return later; and (upon return) do the adjoint(s) equivalent to FIRSTTURN in Alg. 799 uturn: tape iteration(s) and do the adjoint(s) equivalent to YOUTURN in Alg. 79 done: we are done with adjoining the loop equivalent to the <code>terminate</code> enum value in Alg. 79</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/1250b63ea53ef89562a2451982d136a6bb318c0b/src/Checkpointing.jl#L16-L28">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="Checkpointing.Action" href="#Checkpointing.Action"><code>Checkpointing.Action</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">Action</code></pre><p>Stores the state of the checkpointing scheme after an action is taken. * <code>actionflag</code> is the next action * <code>iteration</code> is number of iterations for move forward * <code>startiteration</code> is the loop step to start from * <code>cpnum</code> is the checkpoint index number</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/1250b63ea53ef89562a2451982d136a6bb318c0b/src/Checkpointing.jl#L40-L49">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../storage/">« Storage</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="Monday 25 November 2024 19:51">Monday 25 November 2024</span>. Using Julia version 1.10.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
)</code></pre><p>This macro is supposed to be only used in conjunction with ChainRules. It does not initialize the shadowcopy. Apply the checkpointing scheme <code>alg</code> on the loop <code>loop</code> expression. <code>model</code> is the primal struct. <code>shadowmodel</code> contains the adjoints and is created here. It is supposed to be initialized by ChainRules.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/c309c2b02de58aeb4d7489f305a77d06532dc146/src/Checkpointing.jl#L151-L163">source</a></section></article><h2 id="Supported-Schemes"><a class="docs-heading-anchor" href="#Supported-Schemes">Supported Schemes</a><a id="Supported-Schemes-1"></a><a class="docs-heading-anchor-permalink" href="#Supported-Schemes" title="Permalink"></a></h2><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="Checkpointing.Revolve" href="#Checkpointing.Revolve"><code>Checkpointing.Revolve</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">Revolve</code></pre><p>This is a Julia adaptation of the functionality of Revolve; see Alg. 799 published by Griewank et al. A minor extension is the optional <code>bundle</code> parameter that allows to treat as many loop iterations in one tape/adjoint sweep. If <code>bundle</code> is 1, the default, then the behavior is that of Alg. 799.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/c309c2b02de58aeb4d7489f305a77d06532dc146/src/Schemes/Revolve.jl#L1-L8">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="Checkpointing.Periodic" href="#Checkpointing.Periodic"><code>Checkpointing.Periodic</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">Periodic</code></pre><p>Periodic checkpointing scheme.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/c309c2b02de58aeb4d7489f305a77d06532dc146/src/Schemes/Periodic.jl#L6-L11">source</a></section></article><h2 id="Supported-Storages"><a class="docs-heading-anchor" href="#Supported-Storages">Supported Storages</a><a id="Supported-Storages-1"></a><a class="docs-heading-anchor-permalink" href="#Supported-Storages" title="Permalink"></a></h2><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="Checkpointing.ArrayStorage" href="#Checkpointing.ArrayStorage"><code>Checkpointing.ArrayStorage</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">ArrayStorage</code></pre><p>Array (RAM) storage for checkpointing.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/c309c2b02de58aeb4d7489f305a77d06532dc146/src/Storage/ArrayStorage.jl#L1-L6">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="Checkpointing.HDF5Storage" href="#Checkpointing.HDF5Storage"><code>Checkpointing.HDF5Storage</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">HDF5Storage</code></pre><p>A storage type for checkpointing that uses HDF5 files to store the checkpoints.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/c309c2b02de58aeb4d7489f305a77d06532dc146/src/Storage/HDF5Storage.jl#L1-L6">source</a></section></article><h2 id="Developer-variables-for-implementing-new-schemes"><a class="docs-heading-anchor" href="#Developer-variables-for-implementing-new-schemes">Developer variables for implementing new schemes</a><a id="Developer-variables-for-implementing-new-schemes-1"></a><a class="docs-heading-anchor-permalink" href="#Developer-variables-for-implementing-new-schemes" title="Permalink"></a></h2><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="Checkpointing.Scheme" href="#Checkpointing.Scheme"><code>Checkpointing.Scheme</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">Scheme</code></pre><p>Abstract type from which all checkpointing schemes are derived.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/c309c2b02de58aeb4d7489f305a77d06532dc146/src/Checkpointing.jl#L8-L13">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="Checkpointing.ActionFlag" href="#Checkpointing.ActionFlag"><code>Checkpointing.ActionFlag</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">ActionFlag</code></pre><p>Each checkpointing algorithm currently uses the same ActionFlag type for setting the next action in the checkpointing scheme none: no action store: store a checkpoint now equivalent to TAKESHOT in Alg. 79 restore: restore a checkpoint now equivalent to RESTORE in Alg. 79 forward: execute iteration(s) forward equivalent to ADVANCE in Alg. 79 firstuturn: tape iteration(s); optionally leave to return later; and (upon return) do the adjoint(s) equivalent to FIRSTTURN in Alg. 799 uturn: tape iteration(s) and do the adjoint(s) equivalent to YOUTURN in Alg. 79 done: we are done with adjoining the loop equivalent to the <code>terminate</code> enum value in Alg. 79</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/c309c2b02de58aeb4d7489f305a77d06532dc146/src/Checkpointing.jl#L16-L28">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="Checkpointing.Action" href="#Checkpointing.Action"><code>Checkpointing.Action</code></a><span class="docstring-category">Type</span><span class="is-flex-grow-1 docstring-article-toggle-button" title="Collapse docstring"></span></header><section><div><pre><code class="language-julia hljs">Action</code></pre><p>Stores the state of the checkpointing scheme after an action is taken. * <code>actionflag</code> is the next action * <code>iteration</code> is number of iterations for move forward * <code>startiteration</code> is the loop step to start from * <code>cpnum</code> is the checkpoint index number</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/Argonne-National-Laboratory/Checkpointing.jl/blob/c309c2b02de58aeb4d7489f305a77d06532dc146/src/Checkpointing.jl#L40-L49">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../storage/">« Storage</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="Monday 25 November 2024 19:51">Monday 25 November 2024</span>. Using Julia version 1.10.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 41b38c5

Please sign in to comment.