$ Revised: Mon Dec 10 2018 by prins@cs.unc.edu

UNC logo
COMP 633
Parallel Computing


Fall 2018 (Tue Aug 21 - Tue Dec 4)
TTh 11:00 AM - 12:15 PM FB 007

Instructor: Jan Prins, FB 334, Tel: 919-590-6213, prins@cs.unc.edu
Office hours: Mon 2 - 3 pm and by appt.
(email me with questions anytime)

[2D torus]


This is an introductory graduate course on parallel computing. Upon completion, you should

Additional information including the course syllabus can be found in the course overview.

@ Announcements

@ On-line Handouts

(some material local-access only)

@ Reading Assignments

@ Written and Programming Assignments

  1. Written Assignments
    • (Aug 28) Written assignment WA1 is available. Due date is Tue Sep 11.
      WA1 sample solutions are available.
    • (Oct 2) Written assignment WA2 is available. Due date is Wed Oct 10 at 2PM.
      WA2 sample solutions are available.
    • (Nov 15) Written assignment WA3 is available. Due date is Tue Dec 4 (at the start of class!).
      WA3 sample solutions are available.
  2. Programming Assignments
    • (Sep 11) Programming Assignment PA1(a) is available. Due date is Thu Sep 20 (at the start of class!).
      A reference implementation of sequential all-pairs n-body simulation written in C including a test case for verifying your implementation is available: pa1-ref.c
      Compile with gcc or icc: icc -fopenmp -Ofast pa1-ref.c -o pa1-ref
    • (Oct 2) Programming Assignment PA1(b) is available. Due date is Tue Oct 16 (at the start of class!).
    • [NEW] Updated Programming Assignment PA2 is available. Due date is Sat Dec 13 (project). (The original handout can be found here)

@ Platforms and Programming Models


Programming Models





@ Bibliography

This list will evolve throughout the semester. Specific reading assignments are listed above.
  1. PRAM Algorithms, S. Chatterjee, J. Prins, COMP 633 course notes, 2015.
  2. Memory Hierarchy in Cache-Based Systems, R. v.d. Pas, Sun Microsystems, 2003.
  3. OpenMP 3.1 tutorial, Blaise Barney, LLNL, 2015.
  4. The Implementation of the Cilk-5 Multithreaded Language, M. Frigo, C. Leiserson, K. Randall, in Proceedings of ACM Conf. on Programming Language Design and Implementation, 1998.
  5. Shared Memory Consistency Models: A Tutorial, S. V. Adve, K. Gharachorloo, DEC Western Research Labs Report 95/7, 1995.
  6. Computer Architecture: A Quantitative Approach 2nd ed, D. Patterson, J. Hennessy, Morgan-Kaufmann 1996.
  7. Fast N-Body Simulation with CUDA, L. Nyland, M. Harris, J. Prins, GPUGems 3, 2008.
  8. An Overview of Programming for Intel Xeon processors an Intel Xeon Phi coprocessors, James Reinders, Intel Corp, 2012.
  9. Questions and Answers about BSP, D. Skillicorn, J. Hill, and W. McColl, Scientific Programming 6, 1997.
  10. Message Passing Interface, Blaise Barney, LLNL 2015
  11. Introduction to Parallel Computing: Design and Analysis of Algorithms - Chapter 3, V. Kumar, A. Grama, A. Gupta, G. Karypis, Benjamin-Cummings, 1994.

This page is maintained by prins@cs.unc.edu. Send mail if you find problems.