On Sunday, 14 June 2015 at 18:05:33 UTC, Ola Fosheim Grøstad
wrote:
On Sunday, 14 June 2015 at 15:15:38 UTC, Ilya Yaroshenko wrote:
A naive basic matrix library is simple to write, I don't need
standard library support for that + I get it to work the way
I want by using SIMD registers directly... => I probably
would not use it if I could implement it in less than 10
hours.
A naive std.algorithm and std.range is easy to write too.
I wouldn't know. People have different needs. Builtin
for-each-loops, threads and SIMD support are more important to
me than iterators (ranges).
But the problem with linear algebra is that you might want to
do SIMD optimized versions where you calculate 4 equations at
the time, do reshuffling etc. So a library solution has to
provide substantial benefits.
Yes, but it would be hard to create SIMD optimised version.
What do you think about this chain of steps?
1. Create generalised (only type template and my be flags) BLAS
algorithms (probably slow) with CBLAS like API.
2. Allow users to use existing CBLAS libraries inside generalised
BLAS.
3. Start to improve generalised BLAS with SIMD instructions.
4. And then continue discussion about type of matrixes we want...