Is there a Java library for accelerated vector computing?

I am looking for a Java lib that allows you to do fast calculations using vector (and possibly matrices).

By quickly, I mean that it takes advantage of GPU processing and / or SSE instructions. I am wondering if it is possible to find something as portable as possible. I understand that the JVM provides a thick layer of hardware abstraction.

I met JCUDA , but there is a drawback: on a computer without an Nnvidia graphics card, it should run in emulation (therefore, I believe that it will be ineffective as expected). Has anyone already tried this?

+3
source share
3 answers

What about OpenCL ? This should be a good starting point for such optimized operations.

There are many bindings for Java starting with jocl (but take the loot also in JavaCL or LWJGL , which added support from version 2.6)

+4
source

If by fast you mean high speed, rather than requiring support for your specific equipment, I would recommend Colt . Vectors are called 1-d matrices in this library.

+1
source

I would recommend using UJMP (which wraps most, if not all, high-speed Java matrix libraries) and wait for a decent GPGPU implementation should be written for it (I started hacking it using JavaCL some time ago, but it needs some serious processing, possibly using ScalaCLv2 that in the works).

+1
source

Source: https://habr.com/ru/post/1779178/


All Articles