Data Parallel Programming - Concepts and Challenges in Java
Offered By: Java via YouTube
Course Description
Overview
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
Heterogeneous Parallel ProgrammingUniversity of Illinois at Urbana-Champaign via Coursera Advanced Operating Systems
Georgia Institute of Technology via Udacity 計算機程式設計 (Computer Programming)
National Taiwan University via Coursera Introduction to Operating Systems
Georgia Institute of Technology via Udacity Android Performance
Google via Udacity