3 ms·
Linear Algebra is already a solved problem - there's no need to rewrite the many established C/C++/Fortran code that has been optimized for linear algebra over
by cbcoutinho 10y ago
Linear Algebra is already a solved problem - there's no need to rewrite the many established C/C++/Fortran code that has been optimized for linear algebra over the last 40 years.
Why re-write what has already been done? Stand on the shoulders of giants.
- chris_wot 10y agoMy understanding is you can call C code from Crystal bindings. It doesn't seem like you need to rewrite the wheel :-)
- yxhuvud 10y agoYou already have bindings to BLAS, in https://github.com/mverzilli/crystalla https://github.com/mverzilli/crystalla , though I'm not certain how mature and full fledged it is.
- sanxiyn 10y ago> Why re-write what has already been done? Because we can do better. For example, look at Mir GLAS, written in D. https://github.com/libmir/mir-glas https://github.com/libmir/mir-glas
- fithisux 10y ago1000s Kudos for Mir and Dlang. My language of choice.
- cbcoutinho 10y agoAt a first glance, it looks like the way they're optimizing the BLAS/LAPACK implementations is by making it CPU architecture specific - the same game that IMKL plays. That's probably why they are reaching the same performance as MKL as well. Good to see they aren't reinventing the wheel, and openly expressing inspiration from Numpy is also a nice touch.
- pjmlp 10y agoYou can the same for any programming language or OR, so why bother creating new things.
- yawniek 10y agoBecause 10k lines of D is easier to maintain than 20mb of assembler fortran mix. Plus you get all llvm niceties.
- howeman 10y agoRemoving compiling issues, keeping everything in one language. Plus, when you do, you find bugs. We've found a bunch in lapack implementing gonum (godoc.org/github.com/gonum/lapack)