Syllabus of CSCE569 Parallel Computing

Course Summary

This course will introduce how to utilize parallel computers to solve large-scale computational problems. It will cover both multiple independent running programs using PBS Linux cluster job queuing system and parallel programming based on MPI.

Course Objective

  • To develop an understanding of the concepts in parallel computing architure/hardware
  • To develop an understanding of major parallel programming models
  • To be able to identify promising applications of parallel computing
  • To be able to develop typical parallel algorithms and implement prototype parallel programs using MPI and OpenMP
  • To be able to analyze the performance of parallel programs

Prerequisite You are expected to have some basic programming skills using C, or C++ or java.

Textbooks

Required textbook:

Introduction to parallel programming By:Peter S. Pacheco Publisher: Morgan Kaufmann
Language: English
ISBN-10: 0123742609
ISBN-13: 978-0123742605



Suggested reference book for GPU programming
Programming Massively Parallel Processors: A Hands-on Approach [Paperback] David B. Kirk (Author), Wen-mei W. Hwu (Author)
Bioinformatics: High Performance Parallel Computer Architectures Hardcover: 370 pages
Publisher: CRC Press; 1 edition (July 15, 2010)
Language: English
ISBN-10: 1439814880
ISBN-13: 978-1439814888
(you can find cheap books at http://www.addall.com) or here

Meeting Time(s): Meeting Time: MWF 1:10AM-2:00PM
Classroom: 2A21 Swearinger Engineering Center
Instructor: Dr. Jianjun Hu
Email: jianjunh AT cse.sc.edu
Office: 3A66 Swearinger Engineering Center
Office Hours: MW 3:00PM-4:00PM or by Appointment.

Lecture Notes/Assignments/Readings

Lecture notes, homework assignments will be available at the class website. You will be responsible for downloading them to prepare for class and homework.

Supplementary Readings Extensive reading materials will be provided each week to develop a broad understanding of research and applications of data mining.

Softwares We either develop our code for projects or use existing data mining packages. In many cases, you will be asked to find those packages using search engines such as google.

Grading

Your course grade will be based on homework assignments, a mid-term exam, and a final project. The weights given to these components is:

4 Homework assignments(50%); 1 Mid-term Exam (20%); 1 Project report and presentation (25%); Classroom participation (5%). Grade: 90+ (A), 85+ (B+), 80+(B), 75+ (C+), 70+ (C), 65+(D+), 60+ (D), <60 (F)