Java on the GPU Where are we now?
summary
History plus hands‑on: GPUs move from fixed shaders to OpenGL bindings in Java (JOGL) and full GPGPU via OpenCL and CUDA; Java bindings available include JOCL/JavaCL (many abandoned) and JCuda. Measured example: 10 million vector adds run on a GPU kernel in ~800 ms with large setup and host/device copy overhead dominating; integrated GPUs avoid copies. Higher‑level routes (Aparapi/bytecode→GPU, IBM GPU enabler for Stream.forEach) auto‑offload lambdas; a Java EE heat‑map rendered on an AWS Tesla in the demo.
AI-written summary · about
chapters (39)
- 0:00Start
- 1:13What is a video card?
- 2:22What is a GPU?
- 3:55GPGPU
- 4:35The CPU in general looks like this
- 5:41Let's simplify!
- 6:53So we come to SIMD paradigm
- 7:33And here we start to talk about vectors..
- 8:23It all started with a shader
- 10:24There are several shaders languages
- 11:35Several abstractions were created
- 12:56OpenGL in Java
- 16:07BrookGPU
- 17:00Why should we ever use GPU on Java
- 18:37For OpenCL
- 19:31Disclaimer: its hard to work with GPU!
- 21:13Typical lifecycle of an OpenCL app
- 25:49Datatypes: scalars
- 26:16Datatypes:vectors
- 27:06Memory Model
- 27:59Execution model
- 28:50ND Range - what is that?
- 30:02Typical GPU
- 31:23CUDA kernel
- 31:45CUDA setup
- 31:55CUDA copy to memory and run
- 32:23But CUDA has some other superpowers
- 34:35nVidia memory looks like this
- 36:34Optimizations..
- 36:46-Optimizations
- 37:19Project Sumatra
- 37:50AMD HSAIL
- 38:52AMD APU tries to solve the main issue..
- 39:45IBM patched JVM for GPU
- 45:02nVidia GRID
- 48:08AMD is a bit behind...
- 48:20Its here: Nvidia GPU
- 48:34Its here: AMD APU
- 49:23Intel with VEGA??
related talks
47mJava and GPU … are we nearly there yet?
40mJava GPGPU Enablement: Are We There Yet?
49mMassive Parallelism with GPUs in Java
43mHow to make your electrons do more in Java?
50mUnder the HAT: Empowering GPU Acceleration for Java
40mHow to make your electrons do more in Java
44mWrite Once, Accelerate Everywhere: GPU-Ready Java with TornadoVM
43mFrom CPU to GPU and FPGAs: Supercharging Java Applications with TornadoVM
