On Tuesday, 1 September 2015 at 14:00:52 UTC, ZombineDev wrote:
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
I was looking at blaze the other day and wondering just the same.
I haven't used it, and don't have a great feeling for what would
be involved. Maybe John Colvin does.