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.

https://github.com/tc39/ecmascript_simd
https://github.com/stoklund/portable-simd/blob/master/README.md

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.

https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md

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:

- 2x2 matrix multiplication is maybe a dozen or so SSE instructions in
modern Intel x86-64 assembly.
- Scalar matrix multiplication is only a single "multiply vector by scalar"
instruction.
- 2x2 discriminant is a swizzle, a multiply, clear top two lanes, and
horizontal subtract

And even with larger data sets, vector instructions can and do help.
(Consider BLAS.)

On Sun, May 12, 2019 at 05:51 Ed Saleh <[email protected]> wrote:

> Hello,
>
> 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`.
>
> Thank you,
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
-- 
-----

Isiah Meadows
[email protected]
www.isiahmeadows.com
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to