Skip to content

Commit

Permalink
build based on 3635c54
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Sep 20, 2024
1 parent faaeaa3 commit 8fa2a8f
Show file tree
Hide file tree
Showing 14 changed files with 28 additions and 28 deletions.
2 changes: 1 addition & 1 deletion previews/PR674/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.10.5","generation_timestamp":"2024-09-20T21:06:20","documenter_version":"1.7.0"}}
{"documenter":{"julia_version":"1.10.5","generation_timestamp":"2024-09-20T21:30:27","documenter_version":"1.7.0"}}
2 changes: 1 addition & 1 deletion previews/PR674/api/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions previews/PR674/devices/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion previews/PR674/exceptions/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@
[4] synchronize()
@ AMDGPU ~/.julia/dev/AMDGPU/src/highlevel.jl:154
[5] top-level scope
@ REPL[5]:1</code></pre><p>Kernel-thrown exceptions are thrown during the host synchronization <a href="../streams/#AMDGPU.synchronize"><code>AMDGPU.synchronize</code></a> or on the next kernel launch.</p><p>Kernels that hit an exception will write its information into a pre-allocated host buffer. Once complete, the wavefront throwing the exception will lock the buffer to prevent other wavefronts from overwriting the exception and stop itself, but other wavefronts will continue executing.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../kernel_programming/">« Kernel Programming</a><a class="docs-footer-nextpage" href="../profiling/">Profiling »</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.7.0 on <span class="colophon-date" title="Friday 20 September 2024 21:06">Friday 20 September 2024</span>. Using Julia version 1.10.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
@ REPL[5]:1</code></pre><p>Kernel-thrown exceptions are thrown during the host synchronization <a href="../streams/#AMDGPU.synchronize"><code>AMDGPU.synchronize</code></a> or on the next kernel launch.</p><p>Kernels that hit an exception will write its information into a pre-allocated host buffer. Once complete, the wavefront throwing the exception will lock the buffer to prevent other wavefronts from overwriting the exception and stop itself, but other wavefronts will continue executing.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../kernel_programming/">« Kernel Programming</a><a class="docs-footer-nextpage" href="../profiling/">Profiling »</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.7.0 on <span class="colophon-date" title="Friday 20 September 2024 21:30">Friday 20 September 2024</span>. Using Julia version 1.10.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion previews/PR674/execution_control/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion previews/PR674/hostcall/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
AMDGPU.synchronize(; stop_hostcalls=true) # Stop hostcall.
AMDGPU.Device.free!(hc) # Free hostcall buffers.

@assert Array(y)[1] ≈ 42f0</code></pre><p>In this example, <code>HostCallHolder</code> is used to create and launch <code>HostCall</code>. <code>HostCallHolder</code> contains the <code>HostCall</code> structure itself that is passed to kernel, a task that is spawned on creation and some additional info for controlling the lifetime of the task.</p><p>First argument is a function we want to execute when we call the hostcall. In this case we add <code>42f0</code> to input argument <code>x</code> and return the result.</p><p>Second and third arguments are the return type <code>Float32</code> and the tuple of types of input arguments <code>Tuple{Float32}</code>.</p><p><code>hostcall!</code> is used to execute the function on the host, wait on the result, and obtain the return values. At the moment, it is performed once per workgroup.</p><h2 id="Continuous-Host-Call"><a class="docs-heading-anchor" href="#Continuous-Host-Call">Continuous Host-Call</a><a id="Continuous-Host-Call-1"></a><a class="docs-heading-anchor-permalink" href="#Continuous-Host-Call" title="Permalink"></a></h2><p>By default, hostcalls can be used only once. After executing the function on the host, the task finishes and exits.</p><p>However, if you need your hostcall to live indefinitely, pass <code>continuous=true</code> keyword argument to <code>HostCallHolder(...; continuous=true)</code>.</p><p>To then stop the hostcall, call <code>Device.non_continuous!(hc)</code> or <code>Device.finish!(hc)</code> on the <code>HostCallHolder</code>.</p><p>The difference between them is that <code>non_continuous!</code> will allow calling hostcall one more time before exiting, while <code>finish!</code> will exit immediately.</p><p><code>finish!</code> can be used on any <code>HostCallHolder</code> to force-exit the running hostcall task.</p><h2 id="Free-hostcall-buffers"><a class="docs-heading-anchor" href="#Free-hostcall-buffers">Free hostcall buffers</a><a id="Free-hostcall-buffers-1"></a><a class="docs-heading-anchor-permalink" href="#Free-hostcall-buffers" title="Permalink"></a></h2><p>For custom hostcalls it is important to call <code>AMDGPU.Device.free!</code> once kernel has finished to free buffers that hostcall used in the process.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../memory/">« Memory</a><a class="docs-footer-nextpage" href="../execution_control/">Execution Control »</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.7.0 on <span class="colophon-date" title="Friday 20 September 2024 21:06">Friday 20 September 2024</span>. Using Julia version 1.10.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
@assert Array(y)[1] ≈ 42f0</code></pre><p>In this example, <code>HostCallHolder</code> is used to create and launch <code>HostCall</code>. <code>HostCallHolder</code> contains the <code>HostCall</code> structure itself that is passed to kernel, a task that is spawned on creation and some additional info for controlling the lifetime of the task.</p><p>First argument is a function we want to execute when we call the hostcall. In this case we add <code>42f0</code> to input argument <code>x</code> and return the result.</p><p>Second and third arguments are the return type <code>Float32</code> and the tuple of types of input arguments <code>Tuple{Float32}</code>.</p><p><code>hostcall!</code> is used to execute the function on the host, wait on the result, and obtain the return values. At the moment, it is performed once per workgroup.</p><h2 id="Continuous-Host-Call"><a class="docs-heading-anchor" href="#Continuous-Host-Call">Continuous Host-Call</a><a id="Continuous-Host-Call-1"></a><a class="docs-heading-anchor-permalink" href="#Continuous-Host-Call" title="Permalink"></a></h2><p>By default, hostcalls can be used only once. After executing the function on the host, the task finishes and exits.</p><p>However, if you need your hostcall to live indefinitely, pass <code>continuous=true</code> keyword argument to <code>HostCallHolder(...; continuous=true)</code>.</p><p>To then stop the hostcall, call <code>Device.non_continuous!(hc)</code> or <code>Device.finish!(hc)</code> on the <code>HostCallHolder</code>.</p><p>The difference between them is that <code>non_continuous!</code> will allow calling hostcall one more time before exiting, while <code>finish!</code> will exit immediately.</p><p><code>finish!</code> can be used on any <code>HostCallHolder</code> to force-exit the running hostcall task.</p><h2 id="Free-hostcall-buffers"><a class="docs-heading-anchor" href="#Free-hostcall-buffers">Free hostcall buffers</a><a id="Free-hostcall-buffers-1"></a><a class="docs-heading-anchor-permalink" href="#Free-hostcall-buffers" title="Permalink"></a></h2><p>For custom hostcalls it is important to call <code>AMDGPU.Device.free!</code> once kernel has finished to free buffers that hostcall used in the process.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../memory/">« Memory</a><a class="docs-footer-nextpage" href="../execution_control/">Execution Control »</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.7.0 on <span class="colophon-date" title="Friday 20 September 2024 21:30">Friday 20 September 2024</span>. Using Julia version 1.10.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion previews/PR674/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
# Default is &quot;none&quot;, which does not apply any limitation.
hard_memory_limit = &quot;none&quot;
# Notice a space between the value and percentage sign.
# hard_memory_limit = &quot;80 %&quot;</code></pre></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="quickstart/">Quick Start »</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.7.0 on <span class="colophon-date" title="Friday 20 September 2024 21:06">Friday 20 September 2024</span>. Using Julia version 1.10.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
# hard_memory_limit = &quot;80 %&quot;</code></pre></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="quickstart/">Quick Start »</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.7.0 on <span class="colophon-date" title="Friday 20 September 2024 21:30">Friday 20 September 2024</span>. Using Julia version 1.10.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 8fa2a8f

Please sign in to comment.