On Friday, 23 September 2016 at 13:25:30 UTC, Ilya Yaroshenko wrote:
Mir is LLVM-accelerated Generic Numerical Library for Science and Machine Learning.

Benchmark:
http://blog.mir.dlang.io/glas/benchmark/openblas/2016/09/23/glas-gemm-benchmark.html

Mir v0.18.0 release notes:
https://github.com/libmir/mir/releases/tag/v0.18.0
The release includes Mir's D Foundation GSoC project.

Do not forget to star the project:
https://github.com/libmir/mir

Best regards,
Ilya

Sounds great!
During my time studying mathematics - in the last century, one Dr. of the mathematical department has developed a C++ library as glue to some fast C libs using the possibility of operator overloading, to make the formulation of matrix algorithms quite beautiful.

So would it be possible to get:

// Performs: c := alpha a x b + beta c
// glas is a pointer to a GlasContext
glas.gemm(alpha, a, b, beta, c);

transformed to something like:

Matrix A,B;
Real alpha,beta;
Vektor c;

c = alpha * A * B + beta * c;

Maybe not for performance but for readability purpose?

There was a recent thread about operator overloading but I didn't understood the problem.
(sorry, still a D newbie).

Regards mt.






Reply via email to