Want to know more about modules?
Find out more about modules and their contents.
Have a module of your own?
Contribute to the site by submitting your own module. Your submission will be reviewed by CS In Parallel to determine what categories it should be listed under. After that process, it will become available to all viewers of this site.
The Module Collection
Computational Modelshowing only Shared Memory Show all Computational Model
Possible Course Use
Results 1 - 10 of 10 matches
Concurrent Access to Data Structures
Professor Libby Shoop, Macalester College
This module enables students to experiment with creating a task-parallel solution to the problem of crawling the web by using Java threads and thread-safe data structures available in the java.util.concurrent package.
Multicore Programming with OpenMP
Richard Brown; Elizabeth Shoop
In this lab, we will create a program that intentionally uses multi-core parallelism, upload and run it on the MTL, and explore the issues in parallelism and concurrency that arise. This module uses OpenMP.
Multi-core programming with Intel's Manycore Testing Lab (using Threading Building Blocks)
Professor Richard Brown, St. Olaf College
Intel Corporation has set up a special remote system that allows faculty and students to work with computers with lots of cores, called the Manycore Testing Lab (MTL). In this lab, we will create a program that intentionally uses multi-core parallelism, upload and run it on the MTL, and explore the issues in parallelism and concurrency that arise.
Concurrent Access to Data Structures in C++
This module enables students to experiment with creating a task-parallel solution to the problem of crawling the web by using C++ with Boost threads and thread-safe data structures available in the Intel Threading ...
Drug Design Exemplar
An important problem in the biological sciences is that of drug design: finding small molecules, called ligands, that are good candidates for use as drugs. We introduce the problem and provide several different parallel solutions, in the context of parallel program design patterns.
Message Passing Interface (MPI) is a programming model widely used for parallel programming in a cluster. NVIDIA®'s CUDA, a parallel computing platform and programming model, uses GPU for parallel computation problems. This module will explore ways to combine these two parallel computing platforms to make parallel computation more efficient.
Concept: Data Decomposition Pattern
This module consists of reading material and code examples that depict the data decomposition pattern in parallel programming, using a small-sized example of vector addition (sometimes called the "Hello, World" of parallel programming.
Visualize Numerical Integration
This is an activity with working code supplied that enables students to see how various forms of the data decomposition pattern map processing units to computations.
Patternlets in Parallel Programming
Material originally created by Joel Adams, Calvin CollegeCompiled by Libby Shoop, Macalester College
Short, simple C programming examples of basic shared memory programming patterns using OpenMP and basic distributed memory patterns using MPI.
Sequential and parallel versions of a Monte Carlo simulation of the spread of infectious disease are presented in detail. Students can run the code and examine performance of sequential and parallel versions.