The advancements and overwhelming success of Machine Learning has profoundly affected the future of computer architecture. Not only is performing learning on big-data the leading application driver for future architectures, but also machine learning techniques can be used to improve hardware efficiency for a wide variety of application domains.
This course will explore, from a computer architecture perspective, the principles of hardware/software codesign for machine learning. One thrust of the course will delve into accelerator, CPU, and GPU enhancements for ML algorithms, including parallelization techniques. The other thrust of the course will focus on how machine learning can be used to optimize conventional architectures by dynamically learning and adapting to program behavior.
Not really – the computation behind machine learning and how that is exploited with hardware is what is most relevant here. That said, I welcome ML experts, or even projects that focus on the algorithm aspect of a problem (provided there is some relationship to hardware or hardware support).
The advancements and overwhelming success of Machine Learning has profoundly affected the future of computer architecture. Not only is performing learning on big-data the leading application driver for future architectures, but also machine learning techniques can be used to improve hardware efficiency for a wide variety of application domains.
This course will explore, from a computer architecture perspective, the principles of hardware/software co-design for machine learning. One thrust of the course will delve into accelerator, CPU, and GPU enhancements for ML algorithms, including parallelization techniques. The other thrust of the course will focus on how machine learning can be used to optimize conventional architectures by dynamically learning and adapting to program behavior.
Several important specific goals are:
Develop skills in domain-specialization (reason about how application/domain properties can be exploited with hardware mechanisms) Gain understanding of the current state of the art within acceleration for machine learning, both in academia and in industry. Also, there are some general goals which hold for any architecture/hardware course:
Gain intuition and reasoning skills regarding fundamental architecture tradeoffs of hardware design choices (performance/area/power/complexity/generality). Understand microarchitecture techniques for extracting parallelism and exploiting locality. Learn about evaluation methods, including simulation, analytical modeling, and mechanistic models.
Logistically, this course has 4 components.
CMPT 225 and CS295. Solid programming skills (C++). Expert at Unix/Linux. If unsure whether you have the pre-requisites, talk to the instructor! Programming exercises will require the student to implement programs illustrating the principles used in OS design. Moderate knowledge of C and C++ programming and the UNIX environment is assumed.
For homeworks and programming assignments, students are encouraged to consult each other, the TA, the instructor, or anyone else for that matter. However, the assistance offered or accepted should not go beyond a discussion of the problem and a sketch of a solution. You can use the following guideline: when it comes time for you to write your program or your homework paper, do not use any written material from the discussion.
If you can reconstruct the discussion and complete the solution on your own, then you have learned the material (and that is the objective of this course!). For team projects, you should make sure to identify division of labor in your README. While projects will generally be graded as a team rather than separately for each individual, corrective action could be taken.
Office hours: Mondays.
Name: Parmida Vahdanthia@sfu.ca Emails: pvahdantia@sfu.ca
Name: Reza Hojabr@sfu.ca Emails: shojabro@sfu.ca
Google groups (preferred medium)
AQ 5016 Burnaby Monday and Wed 14:30-15:20. Fridays (No class; project discussion only. Instructors’s office.) Sep 3, 2019 to Dec 10, 2019
No required textbook. Online readings provided in schedule page.
Submit homework source code and check your grades on Coursys