3 ms·
There are some comparisons in some of our group's papers (e.g. [1] Figure 9 where we compare against optimized OpenCL kernels). In general, from our experience,
by ckotseli 3y ago
There are some comparisons in some of our group's papers (e.g. [1] Figure 9 where we compare against optimized OpenCL kernels).
In general, from our experience, TornadoVM's relative performance to optimized CUDA or OpenCL kernels depends on the kind of the kernel.
Our data suggests that it can perform between 40% and 90% of the raw execution time of native kernels.
With TornadoVM v1.0 and the integration with native memory via Project Panama, such performance comparisons would be more straightforward since the memory subsystem of TornadoVM can be further optimized.
Of course with this performance, someone would also benefit from ease in programmability since the starting point is existing or new Java code that can be written as single-threaded.
For more power users TornadoVM offers also the Kernel API which is very comparable to OpenCL that allow users to extract more performance by using optimizations such as grid scheduling, local memory, etc.: https://tornadovm.readthedocs.io/en/latest/programming.html#kernel-api https://tornadovm.readthedocs.io/en/latest/programming.html#...
[1] https://research.manchester.ac.uk/files/190177400/MPAPADIMITRIOU_VEE2021_GPU_MEMORY_JIT_Preprint.pdf https://research.manchester.ac.uk/files/190177400/MPAPADIMIT...
- MrBuddyCasino 3y agoThat’s actually pretty decent, thanks for the detailed answer.
- jfumero 3y agoIt seems the Manchester website is down. Link to the paper: https://github.com/jjfumero/jjfumero.github.io/blob/master/files/papers/2021/vee21-GPUMemoryJIT.pdf https://github.com/jjfumero/jjfumero.github.io/blob/master/f... Just to complement the previous answer. It varies from kernel to kernel. Regarding reductions, the strategy implemented in the TornadoVM JIT compiler allows us to execute reductions offloaded from Java sequential code within 85% of the hand-written OpenCL Kernels: https://www.researchgate.net/publication/327871451_Using_Compiler_Snippets_to_Exploit_Parallelism_on_Heterogeneous_Hardware_A_Java_Reduction_Case_Study https://www.researchgate.net/publication/327871451_Using_Com...