Show HN: Arraymancer v0.4, Nim tensor library now with OpenCL and Keras-like API
github.com
github.com
Also while deep learning is a focus, I've added general linear algebra and ML features like a least squares solver and PCA.
Is there any "production code" written in Arraymancer?
All in all I take performance very seriously and regularly check the assembly generated and the memory overhead of the library. It should at least be as fast as any C, C++ library even if they are optimized by a compiler (Tensorflow, Tensor Comprehension/Halide or MxNet/TVM), my intermediate language is C, and my optimizing compiler is GCC/LLVM. Critical parts should even reach Fortran speed thanks to heavy usage of __restrict__ and assume_aligned compiler builtins.
I also take great care about how to implement any algorithm for numerical stability and speed for example using a numerically stable 1-pass parallel softmax_cross_entropy through a frobenius inner product that I didn't see in any library I checked (Caffe, Tensorflow, Torch).