CP 631

Advanced Parallel Programming

Lec A selected

Parallel computing is ubiquitous today for problems which require more resources than a single serial computer can provide. Programming parallel computers requires new paradigms, algorithms and programming tools. This course covers fundamentals of parallel programming, illustrated with applications developed and tested by students on a parallel computing system provided for the course. The parallel programming paradigms to be covered include OpenMP for multicore shared memory computers, MPI for distributed memory parallel computers, CUDA programming for GPUs (Graphics Processing Units), and Apache Hadoop/Spark for big data processing on computer clusters. The course will focus on the challenges in developing practical parallel programs that scale efficiently with available computing resources. <br> <br><font color="crimson">

Sections

Lecture, pick one

Syllabus

Have the syllabus for CP 631? Share it and everyone gets the grading, textbooks and rules.