News for hackers. Stuff that matters.
Re:.NET Core Image Processing by redcalx on Friday January 20, 2017 @11:01AM (#13444693)
Cool. I'm assuming you do a lot of matrix operations, so I'm wondering if you've come across the Matrix<> type in Math.Net?; It has plug-in 'providers' for concrete implementations, and there are providers that are backed by Intel MKL, OpenBLAS, ATLAS, CUDA, etc.

If you don't register a provider you just get plain .NET code running serially (though it may user Vector<T> in future versions).

See:

https://github.com/mathnet/mathnet-numerics/tree/master/src/...

Re:.NET Core Image Processing by jamessouth on Friday January 20, 2017 @04:06PM (#13446970)
Thanks. Didn't know about that library. We do a lot of matrix operations but have so far found System.Numerics.Vectors covers our immediate use cases.
Re:.NET Core Image Processing by redcalx on Saturday January 21, 2017 @07:35AM (#13449796)
I found that matrix multiplication of dense matrices using MKL was about 60x faster than 'plain' C# code (on a recent core i7 CPU). The Vector<T> class will get you only some of that gain - mainly because MKL uses the FMA CPU instruction (fused multiply and add) that is designed specifically for matrix multiplication, + lots of other optimisations that Intel can make that the .NET jitter can't/won't.
Re:.NET Core Image Processing by jamessouth on Sunday January 22, 2017 @06:00PM (#13458177)
That's some improvement. Will definitely have a proper look.