Hello,
I am currently working on my master's thesis, in which we want to improve the performance of the Java Vector API with an integrated GPU. To do this, we are customising the JDK and using OpenCL to run code on the iGPU. The current solution is to create SVM coarse-grain buffers, copy the Java array elements into the buffers and execute the kernel using these buffers. With this approach, we lose most of the time copying data into the SVM buffers.
- Are there CPUs and iGPUs that support the SVM fine-grain system?
- In other discussions, I have read that performance decreases as the SVM stack (coarse-grain buffer -> fine-grain system) increases. Do you agree with our assumption that, in our case, an SVM fine-grain system will increase the performance significantly?
Another idea is to provide SVM buffers that Java developers can use instead of Java arrays. When using coarse-grained buffers, it is necessary to map and unmap them every time the user writes or reads an element, resulting in increased execution times.
- Would using fine-grain buffers significantly reduce those access times?
Thank you very much for your help and best regards.