Welcome to CS/EE 147!
The class webpage is located at https://www.cs.ucr.edu/~mchow009/teaching/cs147/winter20
Information, resources, and announcements related to the class will be posted to the webpage.
You will need an ENGR account. EE and CEN students should already have one. If you do not, you can create one here: https://www.engr.ucr.edu/secured/systems/login.php
Graphics processing units (GPUs) play key roles in many modern application domains, such as image processing, machine learning, and scientific computing. GPUs provide programmers with the massive parallelism required for modern data intensive applications.
This course introduces the principles and practices of programming GPUs using the CUDA parallel programming environment. Topics include CUDA memory/threading models, common data-parallel programming patterns and libraries needed to develop high-performance parallel computing applications. Students will gain hands-on experience with designing and implementing high performance applications on GPU platforms.
Prerequisite: CS/EE 120B or equivalent; consent of instructor.
The course will assume the knowledge of the C++ programming language.
If you have a disability or believe you may have a disability, you can arrange for accommodations by contacting Services for Students with Disabilities (SSD) at 951-827-4538 (voice) or email@example.com (email). Students needing academic accommodations must first register with SSD and provide required disability-related documentation. If you already have approved accommodation(s), you are advised to notify the faculty instructor of record for this course privately.
All students, faculty, and staff are responsible for understanding and complying with the University’s stated academic requirements. Students should feel free to express their thoughts and opinions in an academic forum.
Here at UCR we are committed to upholding and promoting the values of the Tartan Soul: Integrity, Accountability, Excellence, and Respect. As a student in this class, it is your responsibility to act in accordance with these values by completing all assignments in the manner described, and by informing the instructor of suspected acts of academic misconduct by your peers. By doing so, you will not only affirm your own integrity, but also the integrity of the intellectual work of this University, and the degree which it represents. Should you choose to commit academic misconduct in this class, you will be held accountable according to the policies set forth by the University, and will incur appropriate consequences both in this class and from Student Conduct and Academic Integrity Programs. For more information regarding University policy and its enforcement, please visit: http://conduct.ucr.edu.
The following schedule is tentative and is subject to change.
Note: You need to login to ilearn to access the lecture slides and materials.
|2||April 6||OS/Architecture Review,CUDA Parallelism||Lab 1 - CUDA Setup||Architecture_Review.pptx GPU_Architecture.pptx|
|3||April 13||CUDA Parallelism,Control Divergence||Quiz 1 Wednesday 4/15||CUDA-Parallelism.pptx
|4||April 20||Parallel Reduction Algorithm, Parallel Scan||Lab 1 Due Friday 4/24
Lab 2 - Reduction
|5||April 27||Matrix Multiplaction||Quiz 2 Wednesday 4/29||MatrixMultiplcation.pptx|
|6||May 4||Review, Midterm 1|| |
Lab 3 - Matrix Multiply
|7||May 11||Modern CUDA- Unified Memory, Streams||UnifiedMemory.pdf
|8||May 18||Histogram, Atomic Operations, Dynamic Parallelism||Lab 2 Due Moday 5/18
Lab 4 - Histogram
|9||May 25||May 25 - Holiday, May 27 - Review||Lab 3 Due Tuesday 5/26
Quiz 3 Wednesday 5/27
|10||June 1||Review||June 3 - Final
Quiz 4 Monday 6/6
Lab 4 Due Friday 6/12