I've added javacpp and nd4j as dependencies in the ops-experiments repo. My intention was to access fast FFTs through nd4j, but that was a dead end, as all the FFTs gave a "not supported message", apparently they have interfaces, but at this time are unable to support complex numbers, so the FFT implementations have been disabled.
So instead I tried javacpp-presets, and was able to write some FFTW wrapper ops, and a benchmark
javacpp-presets seems pretty useful. It is a bunch of wrappers to all kinds of native stuff, it relies on the underlying native libraries being installed and on the native path. However it may be possible to write some ops that use javacpp-presets, and check for required libraries in
javacpp-presets also wraps CUDA. @kephale you should check out the CUDA example as it implements a neural network, piece by peice, as we attempted to do last year with ops.
Anyway quick question. Does anyone know how to set the number of threads for jtransform?? I could not figure that out.