Skip to content

Commit

Permalink
deploy: 772bea0
Browse files Browse the repository at this point in the history
  • Loading branch information
lukstafi committed Dec 3, 2024
1 parent 3fa4228 commit b05300e
Show file tree
Hide file tree
Showing 13 changed files with 35 additions and 27 deletions.
5 changes: 2 additions & 3 deletions dev/arrayjit/Arrayjit/Backend_impl/Device/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@
<span><span class="type-var">'a</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">ordinal</span>:<span class="xref-unresolved">Base</span>.int <span class="arrow">&#45;&gt;</span></span>
<span><span>(<span class="type-var">'b</span>, <span class="type-var">'a</span>, <span class="type-var">'c</span>, <span class="type-var">'d</span>)</span> <a href="../../Backend_intf/index.html#type-device">Backend_intf.device</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_stream"><a href="#val-make_stream" class="anchor"></a><code><span><span class="keyword">val</span> make_stream :
<span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>, <span class="type-var">'c</span>, <span class="type-var">'d</span>)</span> <a href="../../Backend_intf/index.html#type-device_ref">Backend_intf.device_ref</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>, <span class="type-var">'c</span>, <span class="type-var">'d</span>)</span> <a href="../../Backend_intf/index.html#type-device">Backend_intf.device</a></span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'c</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">stream_id</span>:<span class="xref-unresolved">Base</span>.int <span class="arrow">&#45;&gt;</span></span>
<span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>, <span class="type-var">'c</span>, <span class="type-var">'d</span>)</span> <a href="../../Backend_intf/index.html#type-stream">Backend_intf.stream</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_name"><a href="#val-get_name" class="anchor"></a><code><span><span class="keyword">val</span> get_name : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>, <span class="type-var">'c</span>, <span class="type-var">'d</span>)</span> <a href="../../Backend_intf/index.html#type-stream">Backend_intf.stream</a></span> <span class="arrow">&#45;&gt;</span></span> string</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_context"><a href="#val-make_context" class="anchor"></a><code><span><span class="keyword">val</span> make_context :
<span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>, <span class="type-var">'c</span>, <span class="type-var">'d</span>)</span> <a href="../../Backend_intf/index.html#type-stream_ref">Backend_intf.stream_ref</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_name"><a href="#val-get_name" class="anchor"></a><code><span><span class="keyword">val</span> get_name : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>, <span class="type-var">'c</span>, <span class="type-var">'d</span>)</span> <a href="../../Backend_intf/index.html#type-stream">Backend_intf.stream</a></span> <span class="arrow">&#45;&gt;</span></span> string</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_context"><a href="#val-make_context" class="anchor"></a><code><span><span class="keyword">val</span> make_context :
<span><span class="optlabel">?ctx_arrays</span>:<span><span>(<a href="../../Tnode/index.html#type-t">Tnode.t</a>, <span class="type-var">'a</span>, <a href="../../Tnode/index.html#type-comparator_witness">Tnode.comparator_witness</a>)</span> <span class="xref-unresolved">Base</span>.Map.t</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'b</span> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>)</span> <a href="../../Backend_intf/index.html#type-context">Backend_intf.context</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_child"><a href="#val-make_child" class="anchor"></a><code><span><span class="keyword">val</span> make_child :
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

12 changes: 7 additions & 5 deletions dev/arrayjit/Arrayjit/Backend_intf/index.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@
<span><a href="../../Ops/index.html#type-prec">Ops.prec</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">dims</span>:<span><span class="xref-unresolved">Base</span>.int <span class="xref-unresolved">Base</span>.array</span> <span class="arrow">&#45;&gt;</span></span>
<span><a href="#type-stream">stream</a> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-buffer_ptr">buffer_ptr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-free_buffer"><a href="#val-free_buffer" class="anchor"></a><code><span><span class="keyword">val</span> free_buffer : <span><span>(<span><a href="#type-stream">stream</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-buffer_ptr">buffer_ptr</a> <span class="arrow">&#45;&gt;</span></span> <span class="xref-unresolved">Base</span>.unit)</span> <span class="xref-unresolved">Base</span>.option</span></span></code></div></div></details></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_device"><a href="#val-make_device" class="anchor"></a><code><span><span class="keyword">val</span> make_device : <span><a href="#type-dev">dev</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="label">ordinal</span>:<span class="xref-unresolved">Base</span>.int <span class="arrow">&#45;&gt;</span></span> <a href="#type-device">device</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_stream"><a href="#val-make_stream" class="anchor"></a><code><span><span class="keyword">val</span> make_stream : <span><a href="#type-device">device</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-runner">runner</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="label">stream_id</span>:<span class="xref-unresolved">Base</span>.int <span class="arrow">&#45;&gt;</span></span> <a href="#type-stream">stream</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_context"><a href="#val-make_context" class="anchor"></a><code><span><span class="keyword">val</span> make_context : <span><span class="optlabel">?ctx_arrays</span>:<a href="#type-ctx_arrays">ctx_arrays</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-stream">stream</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-context">context</a></span></code></div><div class="spec-doc"><p>Returns a context without a parent.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_child"><a href="#val-make_child" class="anchor"></a><code><span><span class="keyword">val</span> make_child : <span><span class="optlabel">?ctx_arrays</span>:<a href="#type-ctx_arrays">ctx_arrays</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-context">context</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-context">context</a></span></code></div><div class="spec-doc"><p>Returns a context with the same <a href="../index.html#type-context.stream"><code>stream</code></a>, and <a href="../index.html#type-context.ctx_arrays"><code>ctx_arrays</code></a> if omitted, as the given context's, which is also the <a href="../index.html#type-context.parent"><code>parent</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_name"><a href="#val-get_name" class="anchor"></a><code><span><span class="keyword">val</span> get_name : <span><a href="#type-stream">stream</a> <span class="arrow">&#45;&gt;</span></span> <span class="xref-unresolved">Base</span>.string</span></code></div></div></div></body></html>
<a href="#type-buffer_ptr">buffer_ptr</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-free_buffer"><a href="#val-free_buffer" class="anchor"></a><code><span><span class="keyword">val</span> free_buffer : <span><span>(<span><a href="#type-stream">stream</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-buffer_ptr">buffer_ptr</a> <span class="arrow">&#45;&gt;</span></span> <span class="xref-unresolved">Base</span>.unit)</span> <span class="xref-unresolved">Base</span>.option</span></span></code></div></div></details></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_device"><a href="#val-make_device" class="anchor"></a><code><span><span class="keyword">val</span> make_device : <span><a href="#type-dev">dev</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="label">ordinal</span>:<span class="xref-unresolved">Base</span>.int <span class="arrow">&#45;&gt;</span></span> <a href="#type-device">device</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_stream"><a href="#val-make_stream" class="anchor"></a><code><span><span class="keyword">val</span> make_stream : <span><a href="#type-device">device</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-runner">runner</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-stream">stream</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_context"><a href="#val-make_context" class="anchor"></a><code><span><span class="keyword">val</span> make_context : <span><span class="optlabel">?ctx_arrays</span>:<a href="#type-ctx_arrays">ctx_arrays</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-stream">stream</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-context">context</a></span></code></div><div class="spec-doc"><p>Returns a context without a parent.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_child"><a href="#val-make_child" class="anchor"></a><code><span><span class="keyword">val</span> make_child : <span><span class="optlabel">?ctx_arrays</span>:<a href="#type-ctx_arrays">ctx_arrays</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="#type-context">context</a> <span class="arrow">&#45;&gt;</span></span> <a href="#type-context">context</a></span></code></div><div class="spec-doc"><p>Returns a context with the same <a href="../index.html#type-context.stream"><code>stream</code></a>, and <a href="../index.html#type-context.ctx_arrays"><code>ctx_arrays</code></a> if omitted, as the given context's, which is also the <a href="../index.html#type-context.parent"><code>parent</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get_name"><a href="#val-get_name" class="anchor"></a><code><span><span class="keyword">val</span> get_name : <span><a href="#type-stream">stream</a> <span class="arrow">&#45;&gt;</span></span> <span class="xref-unresolved">Base</span>.string</span></code></div></div></div></body></html>
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>With_buffer_retrieval_and_syncing (arrayjit.Arrayjit.Backend_intf.With_buffer_retrieval_and_syncing)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a><a href="../../../index.html">arrayjit</a> &#x00BB; <a href="../../index.html">Arrayjit</a> &#x00BB; <a href="../index.html">Backend_intf</a> &#x00BB; With_buffer_retrieval_and_syncing</nav><header class="odoc-preamble"><h1>Module type <code><span>Backend_intf.With_buffer_retrieval_and_syncing</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-context"><a href="#type-context" class="anchor"></a><code><span><span class="keyword">type</span> context</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-event"><a href="#type-event" class="anchor"></a><code><span><span class="keyword">type</span> event</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-from_host"><a href="#val-from_host" class="anchor"></a><code><span><span class="keyword">val</span> from_host : <span><a href="#type-context">context</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../../Tnode/index.html#type-t">Tnode.t</a> <span class="arrow">&#45;&gt;</span></span> <span class="xref-unresolved">Base</span>.bool</span></code></div><div class="spec-doc"><p>If the tensor node is both hosted and in-context, schedules a copy from host to context and returns true, otherwise returns false.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_host"><a href="#val-to_host" class="anchor"></a><code><span><span class="keyword">val</span> to_host : <span><a href="#type-context">context</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../../Tnode/index.html#type-t">Tnode.t</a> <span class="arrow">&#45;&gt;</span></span> <span class="xref-unresolved">Base</span>.bool</span></code></div><div class="spec-doc"><p>If the tensor node is both hosted and in-context, schedules a copy from context to host and returns true, otherwise returns false.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-device_to_device"><a href="#val-device_to_device" class="anchor"></a><code><span><span class="keyword">val</span> device_to_device :
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>With_buffer_retrieval_and_syncing (arrayjit.Arrayjit.Backend_intf.With_buffer_retrieval_and_syncing)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.3"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../odoc.support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a><a href="../../../index.html">arrayjit</a> &#x00BB; <a href="../../index.html">Arrayjit</a> &#x00BB; <a href="../index.html">Backend_intf</a> &#x00BB; With_buffer_retrieval_and_syncing</nav><header class="odoc-preamble"><h1>Module type <code><span>Backend_intf.With_buffer_retrieval_and_syncing</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-device"><a href="#type-device" class="anchor"></a><code><span><span class="keyword">type</span> device</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-context"><a href="#type-context" class="anchor"></a><code><span><span class="keyword">type</span> context</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-event"><a href="#type-event" class="anchor"></a><code><span><span class="keyword">type</span> event</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-from_host"><a href="#val-from_host" class="anchor"></a><code><span><span class="keyword">val</span> from_host : <span><a href="#type-context">context</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../../Tnode/index.html#type-t">Tnode.t</a> <span class="arrow">&#45;&gt;</span></span> <span class="xref-unresolved">Base</span>.bool</span></code></div><div class="spec-doc"><p>If the tensor node is both hosted and in-context, schedules a copy from host to context and returns true, otherwise returns false.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_host"><a href="#val-to_host" class="anchor"></a><code><span><span class="keyword">val</span> to_host : <span><a href="#type-context">context</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../../Tnode/index.html#type-t">Tnode.t</a> <span class="arrow">&#45;&gt;</span></span> <span class="xref-unresolved">Base</span>.bool</span></code></div><div class="spec-doc"><p>If the tensor node is both hosted and in-context, schedules a copy from context to host and returns true, otherwise returns false.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-device_to_device"><a href="#val-device_to_device" class="anchor"></a><code><span><span class="keyword">val</span> device_to_device :
<span><a href="../../Tnode/index.html#type-t">Tnode.t</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">into_merge_buffer</span>:<a href="../index.html#type-merge_buffer_use">merge_buffer_use</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">dst</span>:<a href="#type-context">context</a> <span class="arrow">&#45;&gt;</span></span>
<span><span class="label">src</span>:<a href="#type-context">context</a> <span class="arrow">&#45;&gt;</span></span>
<span class="xref-unresolved">Base</span>.bool</span></code></div><div class="spec-doc"><p><code>device_to_device tn ~into_merge_buffer ~dst ~src</code> proceeds as follows:</p><ul><li>If the node is absent from the <code>src</code> context and either it is present in the <code>dst</code> context or <code>into_merge_buffer</code> is different from <code>No</code>: raises an error.</li><li>If the node is absent from <code>dst</code> and <code>into_merge_buffer=No</code>: returns false.</li><li>Schedules waiting for writing into the tensor node on <code>src</code> to finish, if any.</li><li>If <code>into_merge_buffer=No</code>: schedules a copy of the tensor node from <code>src</code> to <code>dst</code> and updates the writer event for the node.</li><li>If <code>into_merge_buffer</code> is different from <code>No</code>: sets on <code>dst</code> the merge buffer source to the given node.</li><li>If <code>into_merge_buffer=Streaming_for task</code>, remembers the buffer pointer of the source node to use for streaming, runs <code>task</code> -- intended to be the routine making use of the merge buffer, and initializes the merge buffer's streaming event.</li><li>If <code>into_merge_buffer=Copy</code>, schedules copying from <code>src</code> to the merge buffer of <code>dst</code>'s stream, and updates the writer event for the merge buffer.</li></ul></div></div></div></body></html>
<span class="xref-unresolved">Base</span>.bool</span></code></div><div class="spec-doc"><p><code>device_to_device tn ~into_merge_buffer ~dst ~src</code> proceeds as follows:</p><ul><li>If the node is absent from the <code>src</code> context and either it is present in the <code>dst</code> context or <code>into_merge_buffer</code> is different from <code>No</code>: raises an error.</li><li>If the node is absent from <code>dst</code> and <code>into_merge_buffer=No</code>: returns false.</li><li>Schedules waiting for writing into the tensor node on <code>src</code> to finish, if any.</li><li>If <code>into_merge_buffer=No</code>: schedules a copy of the tensor node from <code>src</code> to <code>dst</code> and updates the writer event for the node.</li><li>If <code>into_merge_buffer</code> is different from <code>No</code>: sets on <code>dst</code> the merge buffer source to the given node.</li><li>If <code>into_merge_buffer=Streaming_for task</code>, remembers the buffer pointer of the source node to use for streaming, runs <code>task</code> -- intended to be the routine making use of the merge buffer, and initializes the merge buffer's streaming event.</li><li>If <code>into_merge_buffer=Copy</code>, schedules copying from <code>src</code> to the merge buffer of <code>dst</code>'s stream, and updates the writer event for the merge buffer.</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sync_device"><a href="#val-sync_device" class="anchor"></a><code><span><span class="keyword">val</span> sync_device : <span><a href="#type-device">device</a> <span class="arrow">&#45;&gt;</span></span> <span class="xref-unresolved">Base</span>.unit</span></code></div><div class="spec-doc"><p>Synchronizes all the streams on a device, and cleans up (removes) all associated events.</p></div></div></div></body></html>
Loading

0 comments on commit b05300e

Please sign in to comment.