Java Wrappers for CUDA with JavaCPP

This word referred only to the resulting code, and not to the tools. There are many tools for accessing native libraries from Java, and I have not made a profound analysis of all their features and pros and cons. Some did stand the test of time until now, even when they are not cleanly designed, and are not able to cover all the “problematic” features of C++. I don’t know any other tool that is said to cover all these features. But many of these tools are considered to be particularly powerful or easy to use (and be it only by their authors ;)).

However, I occasionally already told people to have a look at JavaCPP, because it looks like it does not have some of the obvious weaknesses of other tools (although I have not yet used it myself). I know that my approaches (of a mix of manual coding and code generation) are certainly not the way to go in the long term, but still hope that this problem will sooner or later be tackled on a language/VM level, and not with code generators, however, that’s a different story.

Regarding the methods that accept Java arrays: That’s one of the aspects that my initial question was about. When a method expects device data, one can not pass a Java array. (No problem in general. Even in plain C you can pass in the wrong memory type. I was just wondering whether you differentiated them in any way)

Does JavaCPP also handle libraries with installable client drivers? (Like OpenCL?) BTW: The generator that is used in LWJGL ( https://github.com/LWJGL/lwjgl/tree/master/src/java/org/lwjgl/util/generator ) is not a standalone tool, but seems to have some similarities to JavaCPP from what I have seen so far (regarding the class structure and the use of annotations). But I may be wrong.