SIMD Parallel Programming with the Vector API
Conference (INTERMEDIATE level)
The first version of the Vector API was published as an incubator feature in the JDK 16. We now have the 6th incubator version in the JDK 21, which is stable enough to take a look at it, and see how we can use it. The Vector API can tremendously speed up your in-memory computations by using the SIMD (Single Instruction Multiple Data) capabilities of the cores of your CPU. The SIMD architecture is not a new concept, as it was already used in parallel computers in the 80s. This session explains the differences between parallel streams and parallel computing, and how SIMD computations are working internaly on simple examples. It then shows the patterns of code that the Vector API is giving along with their performances, and how you can use them to improve your in-memory data processing computations. More advanced techniques are also presented, to go beyond the basic examples.
José works as Java Developer Advocate at Oracle. PhD in applied maths and computer science, assistant professor at the University Sorbonne Paris Nord for 25 years, he is a Java Champion Alumnus and JavaOne Rockstar. He is a member of the french Paris Java User Group, has been a co-organizer of the conference Devoxx France, and is a disorganizer of JChateau, an unconference held in the Chateau of the Loire Valley. He works on the dev.java documentation and community website, publishes the JEP Café, a monthly video cast on YouTube, and maintains a french YouTube channel with more than 80 hours of Java courses. He is also a Pluralsight author in the Java space.