<div><div dir="auto">Check out the old (and retracted) SIMD.js proposal that aimed to bring SIMD support to JS and the related offshoot that attempted to cover WebAssembly interop as well.</div></div><div dir="auto"><br></div><div dir="auto"><div><a href="https://github.com/tc39/ecmascript_simd">https://github.com/tc39/ecmascript_simd</a></div><div dir="auto"><div><a href="https://github.com/stoklund/portable-simd/blob/master/README.md">https://github.com/stoklund/portable-simd/blob/master/README.md</a></div></div></div><div dir="auto"><br></div><div dir="auto">Also, WebAssembly has a proposal, spearheaded from that work with JS, to try to bring SIMD support to it. The WebAssembly proposal is considerably lower level, but has broad implementor interest.</div><div dir="auto"><br></div><div dir="auto"><div><a href="https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md">https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md</a></div><div dir="auto"><br></div><div dir="auto">Hardware SIMD and matrices may seem like two entirely different things, but a large area of overlap exists between small matrix math and CPU vector instructions. Those instruction sets were designed with coordinate, vector, and small matrix math in mind. For instance:</div><div dir="auto"><br></div><div dir="auto">- 2x2 matrix multiplication is maybe a dozen or so SSE instructions in modern Intel x86-64 assembly.</div><div dir="auto">- Scalar matrix multiplication is only a single "multiply vector by scalar" instruction.<br></div><div dir="auto">- 2x2 discriminant is a swizzle, a multiply, clear top two lanes, and horizontal subtract</div><div dir="auto"><br></div><div dir="auto">And even with larger data sets, vector instructions can and do help. (Consider BLAS.)</div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 12, 2019 at 05:51 Ed Saleh <<a href="mailto:medozs@outlook.com">medozs@outlook.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div>
<div dir="auto" style="direction:ltr;margin:0;padding:0;font-family:sans-serif;font-size:11pt;color:black">
Hello, <br>
<br>
</div>
<div dir="auto" style="direction:ltr;margin:0;padding:0;font-family:sans-serif;font-size:11pt;color:black">
Matrices are widely used today in in Computer Science, Engineering, and AI. I am proposing a new object type of `Matrix([ []... ])` which would make working with matrices easier, easily doing operations such matrices `multiplication` and `addition`.
<br>
<br>
</div>
<div dir="auto" style="direction:ltr;margin:0;padding:0;font-family:sans-serif;font-size:11pt;color:black">
Thank you, <br>
</div>
</div>

_______________________________________________<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/listinfo/es-discuss</a><br>
</blockquote></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">-----<br><br>Isiah Meadows<br><a href="mailto:contact@isiahmeadows.com" target="_blank">contact@isiahmeadows.com</a><br><a href="http://www.isiahmeadows.com" target="_blank">www.isiahmeadows.com</a></div>