- Introduction
- Need for Parallel Computing
- Scope of Parallel Computing
- Issues in Parallel Computing
- Models of Parallel Computing
- Taxonomy of Parallel Architectures
- Dynamic Interconnection Networks
- Static Interconnection Networks
- Message Transfer
- Reduction, Parallel Prefix
- GPU thread model
- Performance Modelling
- Metrics
- Granularity
- Scalability
- Overhead
- Isoefficiency
- Matrix Algorithms
- Matrix Partitioning
- Matrix Transposition
- Matrix Vector Multiply
- Matrix Multiply
- CUDA, vector add, matrix multiply, sequence alignment
- Linear Equations
- LU(P) Decomposition
- Searching and Optimization
- The knapsack problem
- Branch and Bound
- Dynamic Programming
- Sorting
- Types of sorters
- Sorting networks
- Radix / Bucket sorts
- Graph algorithms
- Minimum Spanning Tree
- Single Source Shortest Paths
- All Pairs Shortest Paths
- Fast Fourier Transforms
- Fourier Series, basis functions, Euler
- Discrete and Fast Fourier Transforms
- Convolution, roots of unity, divide and conquer
- Evaluation and Interpolation
- Recursive, bitreversal, iterative Cooley-Tukey FFT
- Pease FFT, locality
The distance learning course consists of study, quizzes, discussions,
assignments, a mid-term and a final exam. The distance learning class
uses RamCT for discussions, quizzes and tests.
- On campus Quizzes are pop quizzes.
Distance learning
quizzes are to be done after study to check whether the
material is comprehended. They are to be done before work on
discussions and assignments is started (when available). Quizzes are
available on RamCT in the indicated period and can be taken
twice. If taken twice, the grade is the average of the two grades.
The worst quiz result is dropped. The
quizzes are there to help you study.
- On campus discussions are spontaneous.
Distance learning discussions are
done more formally in discussion groups, so that
students can extend their understanding by learning from each
other. Discussion 0 is there to create the discussion groups.
Each student submits an initial solution to his/her discussion
group. This is the starting point for the discussions. All
students of that discussion group participate in discussing the
pros and cons of each solution. They must then arrive at a
solution agreed upon by the whole group.
Each group selects a representative to write and submit a
consensus report. The consensus report can be a text, doc or PDF
file. It must contain the following information:
- Dicusssion number/topic
- Discussion group name
- Names of people who participated in the discussion.
- Name of the representative
- Actual report: This must contain the solution agreed upon by
the whole discussion group. If you submit only the final solution
(and it is incorrect), you will not get any partial credit. If you
submit the steps followed to arrive at the solution, you will get
partial credit depending on where the actual mistake occured.
The consensus report is submitted by the representative by
emailing the document to
cs575dl@cs.colostate.edu
before the due date for that discussion. Each discussion must have
a different representative.
The campus course is similarly structured, with the difference that
discussions and quizzes happen spontaneously in class. The distance
learning equivalents are an attempt to create a similar situation on
line.
Study textbook chapters from
Introduction to Parallel Computing, 2nd Edition
Ananth Grama, Anshul Gupta, George Karypis,Vipin Kumar,
The Addison Wesley Publishing Company, ISBN 0-201-64865-2
,
lecture notes (in PowerPoint or PDF), and video taped lectures. The lecture notes
highlight and extend book material and indicate which parts of the book are
most important. As pointed out on the front page, the notes are brief
and indicate what you need to study in more detail.
Assignments and Exams are done
individually. Assignments will be due by the indicated date and
time. Assignments are submittede via RamCT.
For the distance learners, both midterm and final Exams are taken in the form of
online quizzes, each of which can be taken only once in the
designated week. For the on campus students, the
tests are in class.
The schedule is subject to change. We will be studying GPUs and GPU (CUDA) programming.
Checking Grades
Your grades will be posted on RamCT.
Students are evaluated on the basis of assignments, programming projects,
examinations, online quizzes, and their mandatory,
active contributions to class discussions.
The grade is based on
- lab/homework assignments (30%)
- discussion assignments (on campus: audience participation) (10%)
- online and on campus quizzes (10%)
- a mid-term exam (25%)
- a final exam (25%)
Letter grades are standard:
A: 90-100, B: 80-90, C: 70-80, D:60-70, F: 0-60.
- Midterm and
Finals: For on campus students these exams occur in class. For
distance learners these exams are taken in the form of on line
quizzes. Exams can only be taken once. Make-up exams are
only given for extraordinary circumstances (e.g., illness).
-
Quizzes: No make-ups will be given for missed quizzes.
All students are expected to conduct themselves professionally. We
(the instructor and the GTA) assume you are familiar with the
policies in the
student information sheet for the department. The guidelines
outlined in these documents will be followed in this course.
Copyright © 2002-2015: Colorado State University. All rights reserved.