This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Introduction to Parallel Computing https://computing.llnl.gov/tutorials/parallel_comp/ 1 of 44 04/18/2008 08:28 AM idx0037idx0058idx0057idx0052idx0055idx004Cidx0044idx004Fidx0056 | idx0028idx005Bidx0048idx0055idx0046idx004Cidx0056idx0048idx0056 | idx0024idx0045idx0056idx0057idx0055idx0044idx0046idx0057idx0056 | idx002Fidx0026idx0003idx003Aidx0052idx0055idx004Eidx0056idx004Bidx0052idx0053idx0056 | idx0026idx0052idx0050idx0050idx0048idx0051idx0057idx0056 | idx0036idx0048idx0044idx0055idx0046idx004B | idx0033idx0055idx004Cidx0059idx0044idx0046idx005Cidx0003idx0009idx0003idx002Fidx0048idx004Aidx0044idx004Fidx0003idx0031idx0052idx0057idx004Cidx0046idx0048 Introduction to Parallel Computing Table of Contents Abstract 1. Overview What is Parallel Computing? 1. Why Use Parallel Computing? 2. 2. Concepts and Terminology von Neumann Computer Architecture 1. Flynn's Classical Taxonomy 2. Some General Parallel Terminology 3. 3. Parallel Computer Memory Architectures Shared Memory 1. Distributed Memory 2. Hybrid Distributed-Shared Memory 3. 4. Parallel Programming Models Overview 1. Shared Memory Model 2. Threads Model 3. Message Passing Model 4. Data Parallel Model 5. Other Models 6. 5. Designing Parallel Programs Automatic vs. Manual Parallelization 1. Understand the Problem and the Program 2. Partitioning 3. Communications 4. Synchronization 5. Data Dependencies 6. Load Balancing 7. Granularity 8. I/O 9. Limits and Costs of Parallel Programming 10. Performance Analysis and Tuning 11. 6. Parallel Examples Array Processing 1. PI Calculation 2. Simple Heat Equation 3. 1-D Wave Equation 4. 7. References and More Information 8. Introduction to Parallel Computing https://computing.llnl.gov/tutorials/parallel_comp/ 2 of 44 04/18/2008 08:28 AM Abstract This presentation covers the basics of parallel computing. Beginning with a brief overview and some concepts and terminology associated with parallel computing, the topics of parallel memory architectures and programming models are then explored. These topics are followed by a discussion on a number of issues related to designing parallel programs. The last portion of the presentation is spent examining how to parallelize several different types of serial programs. Level/Prerequisites: None Overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer having a single Central Processing Unit (CPU); A problem is broken into a discrete series of instructions. Instructions are executed one after another. Only one instruction may execute at any moment in time. In the simplest sense, parallel computing is the simultaneous use of multiple compute resources to solve a computational problem....
View Full Document
- Spring '09