Course Introduction
Why Parallel Computing?
- In order to improve program performance, we now need to program multi-core machines.
- We want to solve larger and larger problems.
- Single-core machines will be increasingly rare.
Parallel Programming Applications
- Simulation: The Third Pillar of Science
- Weather Modeling
- Bioinformatics
- Energy Research
- Astrophysics
- Earthquake Simulation
- Computational Chemistry
- Data Analysis
- Processor Design
- Search
- Cryptography
- Games
Terminology
- Concurrent computing
- Parallel computing
- Distributed computing
What we'll be doing
- Learning to write explicitly parallel programs.
- Analyzing parallel algorithms.
- Using the C or C++ programming language.
- Using the following libraries/extensions:
- Posix threads (pthreads)
- OpenMP
- Message-Passing Interface (MPI)
Copyright ©
2024
Ian Finlayson | Licensed under a Creative Commons BY-NC-SA 4.0 License.