Skip to content

Commit a43161e

Browse files
author
Documenter.jl
committed
build based on efd17fd
1 parent 4a33ae1 commit a43161e

25 files changed

+336
-187
lines changed

dev/.documenter-siteinfo.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"documenter":{"julia_version":"1.12.1","generation_timestamp":"2025-11-13T18:57:34","documenter_version":"1.15.0"}}
1+
{"documenter":{"julia_version":"1.12.2","generation_timestamp":"2025-11-24T16:10:52","documenter_version":"1.16.1"}}

dev/ContractionSequenceOptimization.html

Lines changed: 3 additions & 3 deletions
Large diffs are not rendered by default.

dev/HDF5FileFormats.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dev/ITensorType.html

Lines changed: 41 additions & 41 deletions
Large diffs are not rendered by default.

dev/IndexType.html

Lines changed: 12 additions & 12 deletions
Large diffs are not rendered by default.

dev/Multithreading.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
1
2828

2929
julia> Strided.get_num_threads()
30-
1</code></pre><p>in favor of either BLAS threading or ITensors.jl&#39;s block sparse threading.</p><p>Additionally, ITensors.jl, through the <a href="https://github.com/ITensor/NDTensors.jl">NDTensors.jl</a> library, provides multithreaded block sparse operations. By default, this kind of threading is disabled. If your computations involve QN conserving tensors, you may want to consider enabling block sparse multithreading as described below.</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="ITensors.enable_threaded_blocksparse" href="#ITensors.enable_threaded_blocksparse"><code>ITensors.enable_threaded_blocksparse</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">ITensors.enable_threaded_blocksparse()
30+
1</code></pre><p>in favor of either BLAS threading or ITensors.jl&#39;s block sparse threading.</p><p>Additionally, ITensors.jl, through the <a href="https://github.com/ITensor/NDTensors.jl">NDTensors.jl</a> library, provides multithreaded block sparse operations. By default, this kind of threading is disabled. If your computations involve QN conserving tensors, you may want to consider enabling block sparse multithreading as described below.</p><article><details class="docstring" open="true"><summary id="ITensors.enable_threaded_blocksparse"><a class="docstring-binding" href="#ITensors.enable_threaded_blocksparse"><code>ITensors.enable_threaded_blocksparse</code></a><span class="docstring-category">Function</span></summary><section><div><pre><code class="language-julia hljs">ITensors.enable_threaded_blocksparse()
3131
ITensors.disable_threaded_blocksparse()</code></pre><p>Enable or disable block sparse multithreading.</p><p>Returns the current state of <code>ITensors.using_threaded_blocksparse()</code>, i.e. <code>true</code> if threaded block sparse was previously enabled, and <code>false</code> if threaded block sparse was previously disabled. This is helpful for turning block sparse threading on or off temporarily. For example:</p><pre><code class="language-julia hljs">using_threaded_blocksparse = ITensors.enable_threaded_blocksparse()
3232
# Run code that you want to be threaded
3333
if !using_threaded_blocksparse
@@ -36,7 +36,7 @@
3636

3737
$ julia -t 4
3838

39-
$ JULIA_NUM_THREADS=4 julia</code></pre><p>In addition, we have found that it is best to disable <code>BLAS</code> and <code>Strided</code> multithreading when using block sparse multithreading. You can do that with the commands <code>using LinearAlgebra; BLAS.set_num_threads(1)</code> and <code>ITensors.Strided.disable_threads()</code>.</p><p>See also: <code>ITensors.enable_threaded_blocksparse</code>, <code>ITensors.disable_threaded_blocksparse</code>, <code>ITensors.using_threaded_blocksparse</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/ITensor/ITensors.jl/blob/655be5b5b243bf6fc3f0fa4df6a75e7ec64c201d/src/global_variables.jl#L141-L168">source</a></section><section><div><pre><code class="language-julia hljs">enable_threaded_blocksparse(enable::Bool)</code></pre><p><code>enable_threaded_blocksparse(true)</code> enables threaded block sparse operations (equivalent to <code>enable_threaded_blocksparse()</code>).</p><p><code>enable_threaded_blocksparse(false)</code> disables threaded block sparse operations (equivalent to <code>enable_threaded_blocksparse()</code>).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/ITensor/ITensors.jl/blob/655be5b5b243bf6fc3f0fa4df6a75e7ec64c201d/src/global_variables.jl#L146-L154">source</a></section></article><p>Here is a simple example of using block sparse multithreading to speed up a sparse tensor contraction:</p><pre><code class="language-julia hljs">using BenchmarkTools
39+
$ JULIA_NUM_THREADS=4 julia</code></pre><p>In addition, we have found that it is best to disable <code>BLAS</code> and <code>Strided</code> multithreading when using block sparse multithreading. You can do that with the commands <code>using LinearAlgebra; BLAS.set_num_threads(1)</code> and <code>ITensors.Strided.disable_threads()</code>.</p><p>See also: <code>ITensors.enable_threaded_blocksparse</code>, <code>ITensors.disable_threaded_blocksparse</code>, <code>ITensors.using_threaded_blocksparse</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/ITensor/ITensors.jl/blob/efd17fd91a61b6d78d4a578742009c6a10c4d79c/src/global_variables.jl#L141-L168">source</a></section><section><div><pre><code class="language-julia hljs">enable_threaded_blocksparse(enable::Bool)</code></pre><p><code>enable_threaded_blocksparse(true)</code> enables threaded block sparse operations (equivalent to <code>enable_threaded_blocksparse()</code>).</p><p><code>enable_threaded_blocksparse(false)</code> disables threaded block sparse operations (equivalent to <code>enable_threaded_blocksparse()</code>).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/ITensor/ITensors.jl/blob/efd17fd91a61b6d78d4a578742009c6a10c4d79c/src/global_variables.jl#L146-L154">source</a></section></details></article><p>Here is a simple example of using block sparse multithreading to speed up a sparse tensor contraction:</p><pre><code class="language-julia hljs">using BenchmarkTools
4040
using ITensors
4141
using LinearAlgebra
4242
using Strided
@@ -92,4 +92,4 @@
9292
Threaded contract:
9393
5.934 ms (446 allocations: 7.37 MiB)
9494

95-
C_contract ≈ C_threaded_contract = true</code></pre><p>In addition, we plan to add more threading to other parts of the code beyond contraction (such as SVD) and improve composibility with other forms of threading like BLAS and Strided, so stay tuned!</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="UpgradeGuide_0.1_to_0.2.html">« Upgrading from 0.1 to 0.2</a><a class="docs-footer-nextpage" href="RunningOnGPUs.html">Running on GPUs »</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.15.0 on <span class="colophon-date" title="Thursday 13 November 2025 18:57">Thursday 13 November 2025</span>. Using Julia version 1.12.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
95+
C_contract ≈ C_threaded_contract = true</code></pre><p>In addition, we plan to add more threading to other parts of the code beyond contraction (such as SVD) and improve composibility with other forms of threading like BLAS and Strided, so stay tuned!</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="UpgradeGuide_0.1_to_0.2.html">« Upgrading from 0.1 to 0.2</a><a class="docs-footer-nextpage" href="RunningOnGPUs.html">Running on GPUs »</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.16.1 on <span class="colophon-date" title="Monday 24 November 2025 16:10">Monday 24 November 2025</span>. Using Julia version 1.12.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

dev/QN.html

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

dev/RunningOnGPUs.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dev/UpgradeGuide_0.1_to_0.2.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,4 +185,4 @@
185185
2: QN(&quot;Sz&quot;,-1) =&gt; 1
186186
(dim=2|id=810|&quot;S=1/2,Site,n=4&quot;) &lt;Out&gt;
187187
1: QN(&quot;Sz&quot;,1) =&gt; 1
188-
2: QN(&quot;Sz&quot;,-1) =&gt; 1</code></pre><p>This shouldn&#39;t affect end users in general. The new convention is a bit more intuitive since the quantum number can be thought of as counting the total number of 1 bits in the state, though the conventions can be mapped to each other with a constant.</p><h3 id="maxlinkdim-for-MPS/MPO-with-no-indices"><a class="docs-heading-anchor" href="#maxlinkdim-for-MPS/MPO-with-no-indices"><code>maxlinkdim</code> for MPS/MPO with no indices</a><a id="maxlinkdim-for-MPS/MPO-with-no-indices-1"></a><a class="docs-heading-anchor-permalink" href="#maxlinkdim-for-MPS/MPO-with-no-indices" title="Permalink"></a></h3><p><code>maxlinkdim(::MPS/MPO)</code> returns a minimum of <code>1</code> (previously it returned 0 for MPS/MPO without and link indices) (<a href="https://github.com/ITensor/ITensors.jl/pull/663">PR #663</a>).</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="faq/JuliaPkg.html">« Julia Package Manager FAQs</a><a class="docs-footer-nextpage" href="Multithreading.html">Multithreading »</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.15.0 on <span class="colophon-date" title="Thursday 13 November 2025 18:57">Thursday 13 November 2025</span>. Using Julia version 1.12.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
188+
2: QN(&quot;Sz&quot;,-1) =&gt; 1</code></pre><p>This shouldn&#39;t affect end users in general. The new convention is a bit more intuitive since the quantum number can be thought of as counting the total number of 1 bits in the state, though the conventions can be mapped to each other with a constant.</p><h3 id="maxlinkdim-for-MPS/MPO-with-no-indices"><a class="docs-heading-anchor" href="#maxlinkdim-for-MPS/MPO-with-no-indices"><code>maxlinkdim</code> for MPS/MPO with no indices</a><a id="maxlinkdim-for-MPS/MPO-with-no-indices-1"></a><a class="docs-heading-anchor-permalink" href="#maxlinkdim-for-MPS/MPO-with-no-indices" title="Permalink"></a></h3><p><code>maxlinkdim(::MPS/MPO)</code> returns a minimum of <code>1</code> (previously it returned 0 for MPS/MPO without and link indices) (<a href="https://github.com/ITensor/ITensors.jl/pull/663">PR #663</a>).</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="faq/JuliaPkg.html">« Julia Package Manager FAQs</a><a class="docs-footer-nextpage" href="Multithreading.html">Multithreading »</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.16.1 on <span class="colophon-date" title="Monday 24 November 2025 16:10">Monday 24 November 2025</span>. Using Julia version 1.12.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

0 commit comments

Comments
 (0)