JOCLBLAS - Java bindings for clBLAS

Hi Marco,

Sorry for bugging you again. I hope that you sorted out the job issue. Any updates on your plans for JOCLSparse? I personally do not need it (YET!), but would like to support it in Neanderthal in the mid-future, since it could open opportunities for implementing some neat machine learning algorithms.

This sort of “bugging” is perfectly fine. It helps to get the priorities right, for the things that I’m currently juggling with.
I’ll try to have another stab on JOCLSPARSE during the weekend (although I already scheduled some JCuda/glTF/HIP and other things there).

Just a short “progress report”: When I initially had a look at clSPARSE, I deferred JOCLSPARSE for several reasons, one of them being that it heavily relies on (nested) structs. In the meantime, I had (not seriously started, but at least) considered creating something like “JVulkan”, and Vulkan also relies on nested structs. Therefore, I had extended the code generator for a better support here, and it seems that the effort for extending/adapting this for clSPARSE is at least “managable”. I’ll continue with this in the next few days, and drop a note here when I make further progress.

Hey, thanks! It’s great to know that it’s moving :slight_smile:

I know that people may think the same about the JOCL build process. But sorry, I have to…

The clSPARSE build process is a pain in the ass. It's called "SuperBuild", but should be called "CrappyBuild". One CMake run that involves several other CMake runs, downloads arbitrary stuff from the web, generates nested build folders of which nobody knows which one generates which part of the library, and in the end, NONE of them seems to compile the samples. There is so much time wasted when people try to be clever.

*** Edit ***

So in addition to the overly “sophisticated” build system, I ran into several issues ( https://github.com/clMathLibraries/clSPARSE/issues/197, https://github.com/clMathLibraries/clSPARSE/issues/198 …). Although the basic “JOCLSPARSE” exists, only a dense AXPY sample passed the test until now. So right now, I consider the clSPARSE library to not be in a usable state, but let’s see what they say about these issues…