Open GoogleCodeExporter opened 9 years ago
I have looked at Aparapi before, and it does seem promising. However, current
code requirements for using Aparapi are somewhat unwieldy. This would
complicate the code of JSAT. Java 8 should resolve a lot of these issues
though.
Also, most of the Algorithms in JSAT would not benefit from the type of
parallelism GPU acceleration would provide. This is mostly restricted to very
heavy >= O(n^2) algorithms, and would require significant improvements to
several of the matrix decompositions in JSAT.
There are also concerns with the current handling of non-trivial functions,
64bit floating point, and branching performance on most GPUs (whether using
CUDA or OpenCL). Some of Nvidia's recent GPUs partially address this issue, but
I do not have one of them to test on. I would likely need outside assistance in
providing the appropriate range of GPUs to test on.
Including Aparapi at this point is simply too much work for too little gain.
Though I would like to investigate it again once Java 8 comes out (and they
update to it), and preferably after more details about Oracle's involvement in
the HSA intermediate language are released / finalized.
At that point, if I can add Aparapi support in a way that allows for it to be
an optional addition to JSAT, and it provides a performance boost for enough
algorithms / enables the use of previously impractical algorithms, I will
include it.
Original comment by eraf...@gmail.com
on 20 Oct 2013 at 10:02
Original issue reported on code.google.com by
kadir.ba...@gmail.com
on 20 Oct 2013 at 8:45