This teaching module guides students through the process of building programs using a heterogeneous computing module on a cluster of computers that are themselves able to perform parallel computations. The examples show partial code for running MPI message passing on processes on machines in a cluster, each of which can then run a parallel task in CUDA using a GPU card.
- Students will be able to build and run programs solving straightforward linear algebra techniques using a heterogeneous computing paradigm (MPI + CUDA) on a cluster of workstations.
Context for Use
- This module can be taught in a C Programming Language based course or in a course in which students have had prior C Programming Language experience. Student with little or no knowledge of C Programming Language will find materials inside this module difficult to comprehend, and therefore adequate of C Programming Language background is mandatory.
- It is designed for use as a lab.
- Depending on curriculum, this module could be considered to be at an "intermediate" or "advanced" level.
Description and Teaching Materials
You can visit the module in your browser:
or you can download the module in either PDF format, latex format, or Word formats.
PDF Format: Heterogeneous Computing.pdf.
Latex Format: Heterogeneous Computing.tar.gz.
Teaching Notes and Tips
We have used this on a LittleFe cluster, but it is intended for use on any cluster with nodes that have GPU cards on them.
We are currently developing assessment instruments for this module.
References and Resources
Comment? Start the discussion about Heterogeneous Computing