Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Data Parallel Programming - Concepts and Challenges in Java

Java via YouTube

Overview

Explore data parallel computing in this 51-minute Java conference talk featuring John Rose. Learn about the concept of data parallel programming through a running example of summing C+A+B. Discover how the Java Virtual Machine virtualizes a CPU and the challenges of old school multi-threading. Examine the importance of timing and the benefits of partitioning data instead of code. Investigate options for localizing data, the concept of Java "GPU threads," and the challenges of placed data alignment. Delve into mesh computing with private memory and vectorization. Conclude with a summary of Java's liabilities, challenges, and assets in the context of data parallel programming.

Syllabus

Intro
What is "data parallel" computing?
Running example: sum of C+A+B
Can a coder dream of electric chips ?
An ordinary load-store machine
working assumption: data = arrays
Load-store machine, with arrays
How the Java VM virtualizes a CPU
Old school multi-threading
Threads can step on each others' toes
What went wrong?
In search of the right notation
Timing can be everything
Partition the data, not the code
Partitioned data is naturally simple
Split the data, keep one code stream
What could go wrong?
Communication dominates eventually
Let's stripe the data across the CPUs
Options for localizing data (2)
What is a Java "GPU thread"? (2)
Issue: Placed data needs to be aligned
Mesh computing, with private memory
Regarding vectorization
Summary: Java liabilities / challenges
Summary: Java assets

Taught by

Java

Reviews

Start your review of Data Parallel Programming - Concepts and Challenges in Java

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.