Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Computer simulation wikipedia , lookup
Trusted Computing wikipedia , lookup
Multi-core processor wikipedia , lookup
General-purpose computing on graphics processing units wikipedia , lookup
Social computing wikipedia , lookup
Theoretical computer science wikipedia , lookup
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