Parallelization: Area Under a Curve
|Publisher||Shodor Education Foundation|
|Description||This module teaches: 1) How to approximate the area under a curve using a Riemann sum, 2) how approximating the area under a curve is used in solutions to scientific problems, 3) how to implement parallel code for Area Under a Curve (including versions that use shared memory via OpenMP, distributed memory via the Message Passing Interface (MPI), and hybrid via a combination of MPI and OpenMP), 4) how to measure the performance and scaling of a parallel application in multicore and manycore environments, and 5) how Area Under a Curve falls into the MapReduce "dwarf" (a class of algorithms that have similar communication and computation patterns).
Upon completion of this module, students should be able to: 1) Understand the importance of approximating the area under a curve in modeling scientific problems, 2) Design a parallel algorithm and implement it using MPI and/or OpenMP, 3) Measure the scalability of a parallel code over multiple or many cores, and 4) Explain the communication and computation patterns of the MapReduce dwarf.
It is assumed that students will have prerequisite experience with C or Fortran 90, *nix systems, and modular arithmetic.|
|Format||C, Word, Fortran|
|Subject||Education, Computational Science, Computer Science, Mathematics|
|Audience||Researcher, Educator, Learner/Student, Professional/Practitioner|