Skip to content

Commit

Permalink
Update kcas doc for main
Browse files Browse the repository at this point in the history
  • Loading branch information
polytypic committed Dec 29, 2023
1 parent c40e310 commit f68af8c
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 5 deletions.
2 changes: 1 addition & 1 deletion doc/kcas_data/Kcas_data/Accumulator/index.html
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Accumulator (kcas_data.Kcas_data.Accumulator)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.0"/><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">kcas_data</a> &#x00BB; <a href="../index.html">Kcas_data</a> &#x00BB; Accumulator</nav><header class="odoc-preamble"><h1>Module <code><span>Kcas_data.Accumulator</span></code></h1><p>Scalable accumulator.</p><p>A scalable accumulator can be used to scalably accumulate an integer value in parallel as long as the accumulated value is read infrequently.</p></header><nav class="odoc-toc"><ul><li><a href="#common-interface">Common interface</a></li><li><a href="#compositional-interface">Compositional interface</a></li><li><a href="#non-compositional-interface">Non-compositional interface</a></li></ul></nav><div class="odoc-content"><h2 id="common-interface"><a href="#common-interface" class="anchor"></a>Common interface</h2><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div><div class="spec-doc"><p>The type of a scalable accumulator.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make"><a href="#val-make" class="anchor"></a><code><span><span class="keyword">val</span> make : <span><span class="optlabel">?n_way</span>:int <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>make n</code> returns a new accumulator whose initial value is <code>n</code>.</p><p>The optional <code>n_way</code> argument can be used to specify a desired level of parallelism, i.e. maximum number of non-interfering parallel updates. The default value is chosen to strike a balance between scalability and memory use and a given value may be adjusted by the implementation.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-n_way_of"><a href="#val-n_way_of" class="anchor"></a><code><span><span class="keyword">val</span> n_way_of : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p><code>n_way_of a</code> returns the maximum number of non-interfering parallel updates supported by the accumulator <code>a</code>.</p><p><b>NOTE</b>: The returned value may not be the same as given to <a href="#val-make"><code>make</code></a>.</p></div></div><h2 id="compositional-interface"><a href="#compositional-interface" class="anchor"></a>Compositional interface</h2><div class="odoc-spec"><div class="spec module anchored" id="module-Xt"><a href="#module-Xt" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Xt/index.html">Xt</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Explicit transaction log passing on accumulators.</p></div></div><h2 id="non-compositional-interface"><a href="#non-compositional-interface" class="anchor"></a>Non-compositional interface</h2><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>add a n</code> increments the value of the accumulator <code>a</code> by <code>n</code>. <code>add</code> operations can be performed scalably in parallel.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-incr"><a href="#val-incr" class="anchor"></a><code><span><span class="keyword">val</span> incr : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>incr a</code> is equivalent to <code>add a 1</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-decr"><a href="#val-decr" class="anchor"></a><code><span><span class="keyword">val</span> decr : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>decr a</code> is equivalent to <code>add a (-1)</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p><code>get a</code> returns the current value of the accumulator.</p><p><b>CAUTION</b>: Performing a <code>get</code> is expensive and can limit scalability.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-set"><a href="#val-set" class="anchor"></a><code><span><span class="keyword">val</span> set : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>set a n</code> sets the current value of the accumulator <code>a</code> to <code>n</code>.</p></div></div></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Accumulator (kcas_data.Kcas_data.Accumulator)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.0"/><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">kcas_data</a> &#x00BB; <a href="../index.html">Kcas_data</a> &#x00BB; Accumulator</nav><header class="odoc-preamble"><h1>Module <code><span>Kcas_data.Accumulator</span></code></h1><p>Scalable accumulator.</p><p>A scalable accumulator can be used to scalably accumulate an integer value in parallel as long as the accumulated value is read infrequently.</p></header><nav class="odoc-toc"><ul><li><a href="#common-interface">Common interface</a></li><li><a href="#compositional-interface">Compositional interface</a></li><li><a href="#non-compositional-interface">Non-compositional interface</a></li></ul></nav><div class="odoc-content"><h2 id="common-interface"><a href="#common-interface" class="anchor"></a>Common interface</h2><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div><div class="spec-doc"><p>The type of a scalable accumulator.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make"><a href="#val-make" class="anchor"></a><code><span><span class="keyword">val</span> make : <span>int <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>make n</code> returns a new accumulator whose initial value is <code>n</code>.</p></div></div><h2 id="compositional-interface"><a href="#compositional-interface" class="anchor"></a>Compositional interface</h2><div class="odoc-spec"><div class="spec module anchored" id="module-Xt"><a href="#module-Xt" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Xt/index.html">Xt</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Explicit transaction log passing on accumulators.</p></div></div><h2 id="non-compositional-interface"><a href="#non-compositional-interface" class="anchor"></a>Non-compositional interface</h2><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>add a n</code> increments the value of the accumulator <code>a</code> by <code>n</code>. <code>add</code> operations can be performed scalably in parallel.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-incr"><a href="#val-incr" class="anchor"></a><code><span><span class="keyword">val</span> incr : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>incr a</code> is equivalent to <code>add a 1</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-decr"><a href="#val-decr" class="anchor"></a><code><span><span class="keyword">val</span> decr : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>decr a</code> is equivalent to <code>add a (-1)</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-get"><a href="#val-get" class="anchor"></a><code><span><span class="keyword">val</span> get : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> int</span></code></div><div class="spec-doc"><p><code>get a</code> returns the current value of the accumulator.</p><p><b>CAUTION</b>: Performing a <code>get</code> is expensive and can limit scalability.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-set"><a href="#val-set" class="anchor"></a><code><span><span class="keyword">val</span> set : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span>int <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>set a n</code> sets the current value of the accumulator <code>a</code> to <code>n</code>.</p></div></div></div></body></html>
Loading

0 comments on commit f68af8c

Please sign in to comment.