The Vector API and GPUs
Paul Sandoz
paul.sandoz at oracle.com
Mon Aug 16 16:23:45 UTC 2021
Hi Kartik,
Currently our focus is design of the API and implementation for CPUs. There are no future plans in motion to explore its use on GPUs.
We have had some thoughts on the matter. In principle the API could be implemented to support a GPU but I think that is insufficient. In my experience we need to think more broadly about loops, device/memory management, async execution etc. These need to be visible in some form to the developer so there is a clear demarcation of what runs where, and what resides where.
Thinking more broadly, I like where Tornado VM is going. If we could somehow introspect on the Java code symbolically Tornado VM could apply its approach in a more standard and supported way. Including support of the Vector API, translating to GPU vector hardware instructions within a kernel.
More generally, I view this problem as a graph extraction problem, splitting a program into the host program and the GPU program, with async communication between the two. The challenge is to devise a clear programming model so the developer can understand the runtime effects of the code they have written.
Paul.
> On Aug 15, 2021, at 5:06 AM, Kartik Ohri <kartikohri13 at gmail.com> wrote:
>
> Hi all!
>
> I understand that Java on GPU was being explored in the Project Sumatra but
> the sumatra-dev mailing list looks inactive and also my question is related
> to the Vector API so I am asking here. If I understand correctly, the
> Vector API currently only deals with CPU SIMD. Based on this, I have the
> following few questions:
>
> 1) Is the implementation of the Vector API strictly tied to CPU SIMD and
> hence making it not possible to support GPUs?
>
> 2) If not, have there been any explorations in the past related to GPU
> support in the Vector API ?
>
> 3) If not, are there any future plans to do so?
>
> Regards,
> Kartik
More information about the panama-dev
mailing list