Summer 2020 - ENSC 894 G300

Special Topics II (3)

Prog.for Heterogen.Cmpt Sys

Class Number: 5578

Delivery Method: Distance Education

Overview

  • Course Times + Location:

    May 11 – Aug 10, 2020: Mon, Wed, 8:30–10:20 a.m.
    Burnaby

Description

COURSE DETAILS:

With the significant slowdown of general-purpose CPU scaling, the computing industry has been actively exploring specialized and programmable hardware accelerators, such as GPUs and FPGAs, to bring orders-of-magnitude performance and energy gains for important application domains. While GPUs have already made a great success in high-performance scientific computing on supercomputers and the recent deep learning revolution, FPGAs have also attracted increasing attention in datacenters in the past few years. In addition to Microsoft's early deployment of FPGA-based datacenters, major cloud service providers, including Amazon, Alibaba, and Huawei, all announced the public access of their FPGA-enabled cloud.Future computing systems will become even more heterogeneous and will featureamix of multicore CPUs, GPUs, FPGAs, and other specialized hardware accelerators(e.g., machine learning acceleratorslike Google TPUand Amazon Inferentia). To get our students prepared and competitive for this hotjob market, it is essential for them to understand the fundamental concepts and designs of such heterogeneous computing systems and master skillsto program such systems.

 

In this course, wewill teach students fundamental concepts, design principles, and programming techniques for heterogenous computing systems, including multicore CPUs, GPUs, and FPGAs. Specially,this course teachesthe following topics:

1.Basic concepts ofgeneral-purpose computing

2.Basic concepts of specialized hardware acceleration

3.Multicore CPU programming using OpenMP

4.GPU programming using CUDA

5.FPGA programming using High-Level Synthesis (HLS) C/C++

6.Comparison between multicore CPU, GPU, and FPGA

Graduate Studies Notes:

Important dates and deadlines for graduate students are found here: http://www.sfu.ca/dean-gradstudies/current/important_dates/guidelines.html. The deadline to drop a course with a 100% refund is the end of week 2. The deadline to drop with no notation on your transcript is the end of week 3.

Registrar Notes:

ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS

SFU’s Academic Integrity web site http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University. http://www.sfu.ca/policies/gazette/student/s10-01.html

TEACHING AT SFU IN SUMMER 2020

Please note that all teaching at SFU in summer term 2020 will be conducted through remote methods. Enrollment in this course acknowledges that remote study may entail different modes of learning, interaction with your instructor, and ways of getting feedback on your work than may be the case for in-person classes.

Students with hidden or visible disabilities who believe they may need class or exam accommodations, including in the current context of remote learning, are encouraged to register with the SFU Centre for Accessible Learning (caladmin@sfu.ca or 778-782-3112) as soon as possible to ensure that they are eligible and that approved accommodations and services are implemented in a timely fashion.