YoVDO

Data Parallel Programming - Concepts and Challenges in Java

Offered By: Java via YouTube

Tags

Java Courses Memory Management Courses Parallel Algorithms Courses Multi-Threading Courses GPU Computing Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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

Related Courses

Моделирование биологических молекул на GPU (Biomolecular modeling on GPU)
Moscow Institute of Physics and Technology via Coursera
Practical Deep Learning For Coders
fast.ai via Independent
GPU Architectures And Programming
Indian Institute of Technology, Kharagpur via Swayam
Perform Real-Time Object Detection with YOLOv3
Coursera Project Network via Coursera
Getting Started with PyTorch
Coursera Project Network via Coursera