Course Outline
This course is designed to cover the emerging multi-core processor architecture and its parallel programming model. The course provides opportunities for the students to learn various fundamental concepts as well as research topics in these areas with the focus on GPU architecture and CUDA programming. The first part describes general multi-core and GPU architectures, including their processing cores, memory hierarchy designs, and interconnected structure. The second part introduces the CUDA programming model, thread model, memory model, scheduling, as well as performance consideration. The two parts are mxed in lecture sequence. Several programming assignments and a project are required.
Required Book and References
· Programming Massively Parallel Processors, A Hands-on Approach, by David Kirk and Wen-Mei Hwu; Morgan Kaufmann Publishers, 2010, ISBN: 978-0-12-381472-2.
· Select papers from conferences and journals: Symposium on Computer Architecture, Conference on Architectural Support for Programming Language and Operating System, Symposium on Microarchitecture, Symposium on High-Performance Computer Architecture, GPU-related conferences and workshops, IEEE Computer, IEEE Micro, IEEE Trans. on Computers, IEEE Trans. on Parallel and Distributed Systems, etc.
General Plan and Schedule
· Week 1-2 - Introduction: Multicore architecture, GPU architectures, CUDA programming
· Week 3-6 - CUDA threads, code blocks, grids, CUDA memory, synchronization
· Week 7-8 - Performance consideration, introduction to OPENCL
· Week 9-11 - Fermi-generation architecture, thread-block and warp scheduling, project discussion
· Week 12-13 - Discussion of advanced issues in multi-core architecture and programming
· Week 14-16 - In-depth discussion of selected project topics and final project presentation
Grading
1. Programming assignment (40%)
2. Exam (30%)
3. Project (30%)
Important Notes
1. CIS 6930 home page (http://www.cise.ufl.edu/~peir/CIS6930) provides all the class related information including homework, exam, project, and lecture notes.
2. There will be four homeworks/programming assignments (40%) and one exam (30%). In addition, a team project for developing GPU performance simulator will be assigned, which is accounted for 30% of the course grade.
3. On-campus students are required to attend the lectures.
4. EDGE students follow the same schedule as on-campus students. Lecture video can be viewed through Sakai.
5. Important Note: You can discuss homework, project among classmates, but not to copy each other, or from information posted on internet.
Honor Code Oath
"We, the members of the
CDA 6159 Home Page: http://www.cise.ufl.edu/~peir/cda6159