www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Awesome mir/glas package

reply Picaud Vincent <picaud.vincent gmail.com> writes:
Just a word to say that I find the glas benchmark results and 
design awesome!

https://github.com/libmir/mir

I am new to D but I think this kind of developments has the 
potential to attract a lot of people doing numerical computations.

I also would like to mention the "libFlame" approach used to 
describe and implement linear algebra algorithms like LU, 
Cholesky... decompositions.

https://www.cs.utexas.edu/~flame/web/methodology.html

IMHO the ndslice is a perfect match to benefit from this 
methodology.

I hope the best future for glas, it is very attractive.

Vincent
Nov 13 2016
parent reply Ilya Yaroshenko <ilyayaroshenko gmail.com> writes:
On Monday, 14 November 2016 at 07:42:13 UTC, Picaud Vincent wrote:
 Just a word to say that I find the glas benchmark results and 
 design awesome!

 https://github.com/libmir/mir

 I am new to D but I think this kind of developments has the 
 potential to attract a lot of people doing numerical 
 computations.

 I also would like to mention the "libFlame" approach used to 
 describe and implement linear algebra algorithms like LU, 
 Cholesky... decompositions.

 https://www.cs.utexas.edu/~flame/web/methodology.html

 IMHO the ndslice is a perfect match to benefit from this 
 methodology.

 I hope the best future for glas, it is very attractive.

 Vincent
Thank you, Vincent! Yes, I will use libFlame approach, it is a really good. In the same time Dlang is more user-friendly for SIMD optimization. GLAS routines probably will follow hypothetical (it is closed source) Intel MKL approach but without unrolled loops. LibFLAME has 2 kinds of algorithms: blocking and unblocking. GLAS where it is possible will have 3 kinds: tiny unblocking, register (SIMD) blocking, and normal blocking. Mir GLAS was moved to separate repo [1]. It is a "better C" library now. This means it is written in D but does not requre DRuntime. It also has standart BLAS API, so GLAS will be able to replace BLAS in already existing C / Fortran infrastructure. [1] https://github.com/libmir/mir-glas Best regards, Ilya
Nov 14 2016
parent Picaud Vincent <picaud.vincent gmail.com> writes:
On Monday, 14 November 2016 at 08:41:36 UTC, Ilya Yaroshenko 
wrote:

 Yes, I will use libFlame approach, it is a really good. In the 
 same time Dlang is more user-friendly for SIMD optimization. 
 GLAS routines probably will follow hypothetical (it is closed 
 source) Intel MKL approach but without unrolled loops. LibFLAME 
 has 2 kinds of algorithms: blocking and unblocking. GLAS where 
 it is possible will have 3 kinds: tiny unblocking, register 
 (SIMD) blocking, and normal blocking.
That is great! I hope being able to use your lib soon, Again thank you for sharing and for these impressive results! Vincent
Nov 14 2016