CSC 2100 – Introduction to Problem Solving & Computer

advertisement
CSC 6750 – Parallel Programming
Fall, 2008
Section 1: TR 4:30 pm – 5:50, Br 417
Instructor:
Sheikh Ghafoor
Office: Br 412A
Office Hours: TR 2:00 – 4:00 , Other times by appointment.
Email: sghafoor@tntech.edu
Course Webpage:
http://users.csc.tntech.edu/~sghafoor/6750/6750.html
Text:
Parallel Programming: Techniques and Applications Using Networked Workstations and
Parallel Computers, 2nd Edition by Barry Wilkinson and Michael Allen. Publisher:
Prentice Hall. 2005. ISBN: 0-13-140563-2.
Reference:
Introduction to Parallel Computing, 2nd Edition by Ananth Grama, Anshul Gupta,
George Karypis, and Vipin Kumar. Publisher: Addison Wesley. 2003. ISBN: 0-20164865-2.
Prerequisite:
CSC2300 or CSC2100, CSC2400
Description:
Three hours lecture.
Introduction to parallel computing architectures and programming paradigms. Theoretical
and practical aspects of parallel programming and problem solving. Design, development,
analysis, and evaluation of parallel algorithms.
Course Objectives:
1. To introduce principles and concepts of parallel computing techniques using
Message Passing Interface (MPI).
2. To provide hands-on experience in implementing parallel programs on the CSC
resources
Attendance:
Attendance is required for this course. If you know you will be absent for a legitimate
reason, let the instructor know. If you are sick bring a doctor’s excuse written university
excuse to resolve the absence
Programming Assignments:
There will be 3 to 5 programming assignments during the semester. In addition there will
be few home work assignments. These assignments are to be individual efforts. A student
may consult only with the instructor, for help on a programming assignment.
Quizzes:
There will be several in class quizzes.
Tests:
There will be 3 tests during the semester and no comprehensive final. The 3rd test will be
considered as final.
Make-up Tests/Quizzes:
If an absence from a quiz is excused, then the average number of points of the other
quizzes will be substituted for the missed quiz. If the absence is unexcused, the student
will be assigned a score of zero points for the test or quiz. For excused absence from a
test, student should make arrangements with the instructor to take the test at another time.
Term Paper:
Students have to write a term paper on a topic related to programming. They have to
write a one page proposal for the term paper and have it approved by the instructor.
Students have to submit an interim paper before submission of the final paper. The term
paper proposal is due September 02, the interim paper is due on November 20, and the
final paper is due December 4. The term paper shouldn’t be merely a compilation or
survey. It should contain some original thought, ideas or analysis.
Academic Conduct:
Cheating, in particular plagiarism, will result in an automatic failure. Don’t do it. Faking
program output counts as cheating! A first offense of cheating on a test, exam, or
programming assignment will result in a grade of 0 for that particular activity. Any
subsequent offense will result in a grade of F for the course. This includes both the
provider of the information as well as the receiver of the information. Any student who
violates the university’s, department’s, or class’s academic honesty policy will be
reported to the Dean of Students for academic discipline. For details on cheating and
plagiarism please refer to
http://www.tntech.edu/studenthandbook/handbook_section4.asp
http://www.tntech.edu/adp/plag.html
Grading Scale:
A=90-100, B=80-89, C=70-79, D=60-69, F= <60
Point Distribution:
Tests
Programming Assignments
Quizzes
Term Paper
45%
30%
15%
10%
Total
100%
Students with a disability requiring accommodations should contact the Office of
Disability Services (ODS). An accommodation request should be completed as soon as
possible, preferably by first week of the course. The ODS is located in the Roden
University Center, Room 112; phone 372-6119.
Tentative Course Topics
Overview
Parallel computers
Measuring performance of parallel algorithms
Message passing computing
MPI tutorial
Embarrassingly parallel computations
Partitioning and divide-and-conquer-strategies
Pipelined computations
Synchronous computations
Load balancing
Numerical algorithms
Sorting algorithms
Download