This repository contains assignments from COE 379L: Parallel Computing with Victor Eijkhout (Email, TACC, GitHub).
Parallel computing refers to writing programs which are solved across multiple concurrent processes. This means that large problems (e.g. a fluid simulation) can be broken into smaller pieces (e.g. zones of the fluid domain) solved separately and more manageably.
- HW1: A simple parallel code where individual processes output their rank.
- HW2: A random matrix equation solver using the full Gauss-Jordan method.
- HW3: A program demonstrating
MPI_Scan()- andMPI_Gather()-type routines. - HW4: A program implementing a bubble sort using the non-blocking send routine
MPI_sendrecv(). - HW5: A program conducting a stencil operation using the non-blocking send routines
MPI_Isend()andMPI_Irecv(). - HW6: A program which distributes array elements amongst processors in an interleaved fashion.
- HW7: A program which solves a linear system of equations using the Jacobi method.
- HW8: A program which calculates the Fibonacci sequence recursively in parallel using OpenMP tasks.