On Friday, 14 August 2015 at 14:57:19 UTC, Andrei Alexandrescu
wrote:
I stumbled upon https://software.intel.com/en-us/node/471374
which gives good detail on Intel's Math Kernel Library's data
formats for sparse matrices.
No doubt other popular linear algebra libraries have similar
documentation. I was thinking we could start with adding these
layouts to std, along with a few simple primitives
(construction, element/slice access, stride etc). Then, people
may just use those as they are or link with the linalg
libraries for specific computations.
Thoughts?
Andrei
One thing that will make D really shine is to implement something
like this:
https://www.youtube.com/watch?v=hfn0BVOegac
Since Blaze [1] is open source all we need to do is to provide D
wrappers on their highly optimized kernels. My intuition is that
by using D's generative features we may be able implement this
with significantly less effort than with C++. Their repository
even contains benchmarks which we can use to verify that our
wrappers won't incur overhead compared to C++.
[1]: https://bitbucket.org/blaze-lib/blaze