CPSC 489: Parallel Computing (Spring 09)


Instructor

Vivek Sarin, 309C HRBB, 458-2214, sarin@cs.tamu.edu

Lecture

MWF, 3pm-3:50pm, 215 Scoates Hall (map)

Office Hours

TBA

Textbook

None

Prerequisites

CPSC 315 or approval of the instructor


Description

Parallel computing offers tremendous challenges and opportunities in today’s world. The ability to develop parallel applications on mainstream multicore processors is an indispensable skill for computer scientists and engineers.

In this course, you will learn about parallel architectures and algorithms, programming techniques for multiprocessors, and applications of parallel computing to real world problems. You will get the opportunity to develop a new programming skill set for parallel platforms ranging from multicore processors to modern supercomputers. You will also acquire experience in parallel software development through programming assignments on different types of hardware.

Topics

·         Architecture: multiprocessor architectures, memory models, emerging platforms – multicore chips, GPGPUs.

·         Programming: basic concepts, programming tools such as POSIX threads, OpenMP, and MPI, architecture-specific programming environments, performance issues.

·         Algorithms: basic operations such as reduction, scatter-gather, prefix-sum, sorting algorithms, graph algorithms.

·         Applications:  Monte-Carlo, matrix computations, n-body computations, etc.

Grading

Assignments (6)

60%

Midterm

15%

Final

25%

Scholastic Dishonesty

University regulations (Section 42) define scholastic dishonesty to include acquiring answers from any unauthorized source, working with another person when not specifically permitted, observing the work of other students during any exam, providing answers when not specifically authorized to do so, informing any person of the contents of an exam prior to the exam, and failing to credit sources used. Disciplinary actions range from grade penalty to expulsion.


Updated by Vivek Sarin on December 1, 2008