SanjeevKumar_PPoPP08_Panel

Download Report

Transcript SanjeevKumar_PPoPP08_Panel

Parallel Computing in the
Mainstream
Sanjeev Kumar
Intel Corporation
PPoPP’08 Panel: Where Will All the Threads Come From?
Our Work
1
2
RMS Applications
Architectural
Enhancements
Language & Compiler
Improvements
Can we use chips with a large number of cores?
 Are there applications with large computational requirements?
 Do these applications scale? What does it take?
 How can the parallelization process be simplified?
Sanjeev Kumar
Enabing Parallel Computing in the Mainstream
2
RMS Applications
A taxonomy of a large class of emerging applications
Sanjeev Kumar
Enabing Parallel Computing in the Mainstream
3
Movie Physics
Game Physics
Ray Tracing Based Rendering
Financial Analytics
Direct Illumination
only
Sanjeev Kumar
Adding Indirect
Illumination
Enabing Parallel Computing in the Mainstream
4
Image Courtesy: Siggraph 2004 paper by Dreamworks
Vision
Image Processing
Virtual Worlds (Second Life)
Video/Data Mining
Sanjeev Kumar
Enabing Parallel Computing in the Mainstream
5
Public Benchmarks

PARSEC Benchmark Suite




Joint effort between Princeton and Intel
Available at http://parsec.cs.princeton.edu/
Includes some RMS applications
Tutorial on PARSEC at ISCA’08
Sanjeev Kumar
Enabing Parallel Computing in the Mainstream
6
What have we learned?

Are there applications with large computational requirements?

Do these applications scale?

What does it take to scale these applications?

How can the parallelization process be simplified?
Sanjeev Kumar
Enabing Parallel Computing in the Mainstream
7
GFLOPS
Large Computation Requirements?
Sanjeev Kumar
Asset Liability
Management
Foreground
Estimation
Fluid
Dynamics
Ray
Tracing
Yes
Enabing Parallel Computing in the Mainstream
8
Do these applications scale?
Portfolio Management
Text Indexing
Foreground Estimation
Body Tracker
Rigid Body Simulation
Cloth Simulation
Face Simulation
Fluid Dynamics
Raytracing
0
8
16
24
32
40
48
56
64
Yes
Sanjeev Kumar
Enabing Parallel Computing in the Mainstream
9
What does it take to scale applications?

Lots of programming effort


Plus algorithmic changes


Large number of cases: this suffices
Usually involves one time performance hit
Plus architectural enhancements





Sanjeev Kumar
Support for fine-grained concurrency [ ISCA’07 ]
Support for atomic vector operations [ ISCA’08 ]
Increased bandwidth, bigger caches (Stacked DRAM)
Support for efficient data movement
…
Enabing Parallel Computing in the Mainstream
10
How can parallelization be simplified?

No silver bullet in sight





Better languages. Maybe even domain specific
Parallelized & optimized libraries
Use compilers to automate optimizations



Problem harder than Scientific Computing
Every approach has its limitations
Big performance gains with “Close to metal” programming
Tools for correctness checking
Tools for understanding performance
Sanjeev Kumar
Enabing Parallel Computing in the Mainstream
11
Computer
Vision
Physical
Simulation
Rendering
Face
Body
Tracking Detection
Global
Illumination
CFD
Face,
Cloth
(Financial)
Analytics
Rigid
Body
Portfolio
Mgmt
Option
Pricing
PDE
SVM
Training
Collision
detection
LCP
Level Set
Filter/
transform
Particle
Filtering
NLP
FIMI
IPM
(LP, QP)
K-Means
Fast Marching
Method
Krylov Iterative Solvers
(PCG)
Sanjeev Kumar
Text
Index
Machine Cluster/
learning Classify
Media
Synth
SVM
Classification
Data Mining
Direct Solver
(Cholesky)
Basic matrix primitives
(dense/sparse, structured/unstructured)
Monte Carlo
Basic Iterative Solver
(Jacobi, GS, SOR)
Non-Convex
Method
Basic geometry primitives
(partitioning structures, primitive tests)
Enabing Parallel Computing in the Mainstream
Text
Indexer
12
Conclusion

A large number of applications have



High computational requirements
Lots of parallelism
Challenge: Simplify parallelization
Sanjeev Kumar
Enabing Parallel Computing in the Mainstream
13