BIDData/BIDMat

advice on testing software using BIDMat

Closed this issue · 1 comments

We try to write and automatically launch specs for our piece of software using BIDMat.

some of our code is GPU-powered, some not.

is there a way to do that without having each machine GPU-enabled and jcuda installed?

I imagine that if we have some interface like 'Mat' we could do do that - write some test on 'Mat' interface providing an FMat when test, and GMat when on GPU.

I tried that, but even using SciFunctions requires jcuda package.
How would you suggest overcomming this issue?

It actually doesnt require jcuda anymore. There used to be errors if you tried to run bidmat without jcuda because we used the classloader from jcuda which automatically loads native files. That dependency is gone and most learning routines from BIDMach will run correctly now without GPUs and without the cuda libs. you can pull the latest version from github and then do
./getdevlibs.sh from the BIDmat directory to pull the latest build of the libraries.

You're taking the right approach. Write code using Mat and then you can run with CPU or GPU matrices. Take a look at the code in BIDMach, almost all the learners use Mats only.

You might also want to try matrix caching as BIDMach does to avoid running out of GPU memory.