Learn more about Java conferences:
— in the spring — JPoint: https://jrg.su/gTrwHx
— in the fall — Joker: https://jrg.su/h7yvG4
— —
. . . . Today, GPU resources are available not only on gaming PCs, but also on laptops and cloud machines. With some effort, they can be used to achieve massive optimizations on standard devices.
Dmitry gained experience using GPUs while working on a startup that required multiple matrix transformations for financial calculations. Initially, conventional parallel data processing approaches on CPUs were used, but it became clear that GPUs represented a very powerful untapped resource for such calculations. After some research, we were able to come up with a working solution and run the calculations on a heterogeneous environment: CPU and GPU.
After a brief introduction to the development of GPUs, this talk will discuss how they can be used in the Java world. We'll briefly introduce the world of OpenGL and move on to CUDA and OpenCL—technologies for massive general-purpose computing on video cards. We'll explore the advantages and disadvantages of using GPUs in general and in the Java ecosystem in particular. We'll explore how to maximize automation of GPU use in Java and run it all in the cloud. We'll experiment with using the JVM as a "glue" between high-level languages and low-level GPU APIs.