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:
Introduction to parallel programming
GPU architecture
CUDA programming
CUDA code optimization
OpenCL programming
CPU multicore architecture
OpenMP programming
Advanced topics
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
CUDA Course Map: http://www.nvidia.com/object/cuda_courses_and_map.html
NVIDIA CUDA: NVIDIA CUDA C Programming Guide
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.