Numerical age for D: Mir v0.18.0 is faster then OpenBLAS

Martin Tschierschke via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Sep 26 05:05:46 PDT 2016


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.








More information about the Digitalmars-d-announce mailing list