<div dir="auto"><div>Why should be it included in standard library?<div dir="auto"><br></div><div dir="auto">Are there widely used¬† libraries providing similar capabilities?</div><div dir="auto"><br></div><div dir="auto">Why is it preferable to implementing tensor operations in Web Assembly?¬†</div><br><div class="gmail_extra"><br><div class="gmail_quote">On 27 Jan 2018 2:50 am, "Robert Eisele" <<a href="mailto:robert@xarg.org">robert@xarg.org</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
Allocating multi-dimensional arrays in Javascript is only possible by building each dimension individually. In addition to being a very tedious job, a developer has no control over memory usage, which in general is likely to be very high.<br>
<br>
Seeing an array algebraically as a vector, typed arrays have already created the ability to work more efficiently and memory-consciously with lists of numbers. A natural extension of this is not just a matrix, but a tensor.<br>
<br>
I would like to suggest tensors as a native language construct in ES. This would have the advantage that developers could write highly parallelizable code independently of WebGL. As an API one could introduce the following classes in analogy to typed arrays:<br>
<br>
- IntXTensor<br>
- UintXTensor<br>
- FloatXTensor<br>
<br>
Where X is one of {8, 16, 32, 64}. To make these tensor objects really effective, it is necessary to introduce meaningful operations, maybe similar to the features of TensorFlow. I think by introducing tensors in the browser (but also node.js), a wide range of new applications open up. For example, working with deep learning right in the browser or calculating filters on images without having to write shaders for them.<br>
<br>
The most important thing probably is having a way of storing high dimensional data in the browser without worrying about the memory footprint, even for complex applications.<br>
<br>
What do you think about it?<br>
<br>
Robert Eisele<br>
<br>
______________________________<wbr>_________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listi<wbr>nfo/es-discuss</a><br>
</blockquote></div><br></div></div></div>