About this Course

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 12 hours to complete

Suggested: 4-10 hours/week...

English

Subtitles: English

Skills you will gain

Computer ArchitectureComputer ProgrammingConfiguring FPGA systems

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 12 hours to complete

Suggested: 4-10 hours/week...

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
2 hours to complete

Reconfigurable cloud infrastructure

Distributed systems, data center and cloud architectures are facing the exponential growth in computing requirements and the impossibility for CPU-based solutions to keep pace. Within this context these complex distributed systems have to move toward accelerated computing. Accelerators complement CPU-based architectures and deliver both performance and power efficiency. Moreover, modern data center, as we know, can be used by several different users to serve different workloads and the idea of having an underlying architecture built on reconfigurable technologies seems to provide an ideal fit for these changing, demanding, workloads. This module provides a description of the main cloud computing components and technologies, as well as detailing the current technologies to accelerate cloud computing workloads.

...
8 videos (Total 46 min), 3 quizzes
8 videos
Reconfigurable acceleration in the Cloud4m
Reconfigurable acceleration in the Cloud: intel FPGA-based solutions6m
Reconfigurable acceleration in the Cloud: Xilinx FPGA-based solutions5m
Reconfigurable acceleration in the Cloud: from the past, to the future3m
An introduction to the AWS EC2 F1 instances7m
3 practice exercises
QUIZ 130m
QUIZ 230m
QUIZ 35m
Week
2
2 hours to complete

On how to accelerate the cloud with SDAccel

Within this module we are going to have a first taste on how to gain the best out of the combination of the F1 instances with SDAccel providing some few practical instructions on how to develop accelerated applications on Amazon F1 by using the Xilinx SDAccel development environment. Then, we are going to present what it is necessary to create FPGA kernels, assemble the FPGA program and to compile the Amazon FPGA Image, or AFI. Finally, we will describe the steps and tasks involved in developing a host application accelerated on the F1 FPGA.

...
9 videos (Total 51 min), 3 quizzes
9 videos
AWS F1 Platform Model9m
Creating Kernels from RTL IP, C/C++, OpenCL6m
Compiling the Platform3m
Creating an Amazon FPGA Image2m
Developing and Executing a Host Application on F17m
Start Accelerating4m
3 practice exercises
QUIZ 410m
QUIZ 530m
QUIZ 630m
Week
3
3 hours to complete

Summing things up: the Smith-Waterman algorithm

Within this module we are going to introduce you to the Smith-Waterman algorithm that we have chosen to demonstrate how to create a hardware implementation of a system based on FPGA technologies using the Xilinx SDAccel design framework. We are going to dig into the details of the algorithm from its data structures to the computation flow. Then we are going to introduce the Roofline model and we are going to use it to analyze the theoretical peak performance and the operational intensity of the Smith-Waterman algorithm.

...
8 videos (Total 48 min), 1 reading, 1 quiz
8 videos
Roofline model 2/24m
Code profiling6m
Static Code Analysis 1/26m
Static Code Analysis 2/24m
Performance Prediction via Roofline Model7m
1 reading
SDAccel Environment Profiling and Optimisation Guide1h 30m
1 practice exercise
QUIZ 730m
Week
4
5 hours to complete

The Smith-Waterman example in details

Within this module we are going to dig deeper in the Smith-Waterman algorithm. We are going to implement a first version of the algorithm on a local server with the Xilinx SDAccel design framework. Then we are going to introduce some optimizations to improve performance, in particular we will add more parallelism in the implementation and we will introduce systolic arrays. Moreover, we will explore how we can perform data compression and then we will leverage multiple memory ports to improve memory access speed. Finally, we are going to port our implementation of the Smith-Waterman algorithm on the AWS F1 instances.

...
12 videos (Total 95 min), 2 readings, 2 quizzes
12 videos
Parallelism in the Smith-Waterman Algorithm8m
Systolic Array Architecture 1/29m
Systolic Array Architecture 2/212m
Input Compression6m
Shift Register8m
Dual Physical Ports5m
Smith-Waterman accelerated on the Amazon EC2 F1 instances 1/36m
Smith-Waterman accelerated on the Amazon EC2 F1 instances 2/38m
Smith-Waterman accelerated on the Amazon EC2 F1 instances 3/39m
2 readings
Sources Codes1h 30m
Source Codes1h 30m
2 practice exercises
QUIZ 830m
QUIZ 920m
1 hour to complete

Course conclusions

We are working at the edge of the research in the area of reconfigurable computing. FPGA technologies are not used only as standalone solutions/platforms but are now included into cloud infrastructures. They are now used both to accelerate infrastructure/backend computations and exposed as-a-Service that can be used by anyone. Within this context we are facing the definition of new research opportunities and technologies improvements and the time cannot be better under this perspective. This module is concluding this course but posing interesting questions towards possible future research directions that may also point the students to other Coursera courses on FPGAs.

...
1 video (Total 3 min), 1 reading
1 reading
Architectural optimizations for high performance and energy efficient Smith-Waterman implementation on FPGAs using OpenCL45m

Instructor

Avatar

Marco Domenico Santambrogio

Associate Professor
DEIB - Dept. of Electronics, Information and Bioengineering

About Politecnico di Milano

Politecnico di Milano is a scientific-technological University, which trains engineers, architects and industrial designers. From 2014 Politecnico di Milano started the release of several MOOCs, developed by the service for digital learning METID (Methods and Innovative Technologies for Learning), giving everybody the chance to enhance personal skills....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.