CS 6823-003  Special Topics:  High Performance Computing

 

Spring 2013, Credit Hrs: 3

 

General Information

 

  Instructor: Hai Jiang
    Office: CSM, Room 127
    Phone:  972-3978 ext. 118
    Email:  hjiang@astate.edu
  Time: Tue Thu  2:00 - 3:15 p.m.
  Location: CSM, Room 211
  Office Hours: Tue Thu 12:15 - 2:00 p.m. &  Wed 2:00-3:15 p.m. & Tue Wed Thu 3:15 - 4:00 p.m.
  Syllabus: http://www.cs.astate.edu/~hjiang/cs6823-003/syllabus.pdf
  Course Homepage: http://www.cs.astate.edu/~hjiang/cs6823-003.html
    ( Lecture notes, homework assignments, etc. )

 

Course Description

 

High Performance Computing is developed for graduate students. Its focus is on Heterogeneous Computing. As multicore CPUs and many-core GPUs become popular, more parallel computing platforms are available. This course intends to cover the architectures of these new platforms and then provide students some opportunities to acquire hands-on programming experience on them. NVIDIA CUDA and OpenCL will be used to learn GPU programming on NVIDIA and ATI GPUs, respectively. OpenMP will be covered to explore the computational power on multicore CPUs. Advanced topics will be covered as well. This course also includes some literature reviews and course projects. Tentative topics will include:

 

Prerequisites

 

CS 3223 (Computer Organization), or consent of the instructor

 

Textbook


There is no textbook for this course. Latest programming guides, white papers and publications will be provided in class.

 

 

References

 


David Kirk and Wen-mei Hwu, Programming Massively Parallel Processors, A Hands-on Approach, Morgan Kaufmann,  Published February 2010, 280 pages, ISBN 978-0123814722.
   


Jason Sanders and Edward Kandrot, CUDA by Example: An Introduction to General -Purpose GPU Programming, Addison-Wesley Professional, Published, July, 2010, 312 pages, ISBN 978-0131387683.
   


Benedict Gaster, Lee Howes, David R. Kaeli, Perheaad Mistry, Dana Schaa, Heteorgeneous Computing with OpenCL,Morgan Kaufmann, August, 2011, 269 pages, ISBN 978-0123877666.
  •  

More course materials will be available on course homepage. Please visit it often for changes and announcements.

 

 

Resources

 

Grading

 

Final grades will be calculated based on the following weights:

  Homework Assignments and Presentations: 25%
  Course Project : 20%
  Midterm Exam: 20%
  Final Exam: 30%
  Attendance: 5%

 

The final grade will be distributed as :

A    [90-100]

B    [80 - 90)

C    [70 - 80)

D    [60 - 70)

F    [0  - 60)

 

 

Computer Science Classwork and Assessment Delivery Environment

 

CSCADE system (http://cscade.cs.astate.edu/) will be used for homework submission and grading.

 

Policies

 

Food and Drinks

Department policy restricts bringing either food or drinks into the classroom.
 

Electronic Devices

Cell phones are restricted during class. Cell phones must be turned off during the lecture. If your cell phone rings during class, you may be asked to leave. Other devices (computers, recorders, etc.) may be allowed, but you must ask the instructor before you use them during class.

 

Special Facilities

Students who require academic adjustments in the classroom due to a disability must first register with ASU Disability Services. Following registration and within the first two weeks of class, please contact the instructor to discuss the appropriate academic accommodations to ensure equal access to this course.

 

Rescheduling Tests

Tests cannot be rescheduled due to testing in other classes. If a test is missed due to extenuating circumstances then you must notify me as soon as possible. The circumstances must be documented by you and must be excusable in order to reschedule a test.

 

Late Assignments

For most homework assignments, the class will receive a working solution within four days after the due date. NO assignments will be accepted that are more than four days late. Assignments that are less than a week late, will be accepted with certain penalty (25% per day).

 

Cheating

You are encouraged to discuss problems and programming assignments with each other. Helping others learn is often the most powerful way of mastering material yourself. However, taking somebody else's solution without their knowledge or consent is cheating and will be punished. Do not leave copies of the programming assignments in the trash can in a public place -- throw them away at home or some other private place. Also do not leave your directories unprotected. There are harsh penalties for those found cheating.

 

Attendance

Attendance is required. If you miss a class, you are responsible for material covered during the class you missed, this includes any assignments made. Note that I do not provide one-on-one instruction for missed classes.