Developing FPGA-accelerated cloud applications with SDAccel: Practice (Coursera)

Offered by Politecnico di Milano,
Developing FPGA-accelerated cloud applications with SDAccel: Practice (Coursera)

This course is for anyone passionate about learning how to develop FPGA-accelerated applications with SDAccel! The more general purpose you are, the more flexible you are and the more kinds of programs and algorithms you can execute on your underlying computing infrastructure. All of this is terrific, but there is no free food and this is happening, quite often, by losing in efficiency.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

This course will present several scenarios where the workloads require more performance than can be obtained even by using the fastest CPUs. This scenario is turning cloud and data center architectures toward accelerated computing. Within this course, we are going to show you how to gain benefits by using Xilinx SDAccel to program Amazon EC2 F1 instances. We are going to do this through a working example of an algorithm used in computational biology.
The huge amount of data the algorithms need to process and their complexity raised the problem of increasing the amount of computational power needed to perform the computation. In this scenario, hardware accelerators revealed to be effective in achieving a speed-up in the computation while, at the same time, saving power consumption. Among the algorithms used in computational biology, the Smith-Waterman algorithm is a dynamic programming algorithm, guaranteed to find the optimal local alignment between two strings that could be nucleotides or proteins. In the following classes, we present an analysis and successive FPGA-based hardware acceleration of the Smith-Waterman algorithm used to perform pairwise alignment of DNA sequences.
Within this context, this course is focusing on distributed, heterogeneous cloud infrastructures, providing you details on how to use Xilinx SDAccel, through working examples, to bring your solutions to life by using the Amazon EC2 F1 instances.

Syllabus

WEEK 1
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.

WEEK 2
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.

WEEK 3
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.

WEEK 4
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.
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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Character Design for Video Games (Coursera) Coursera
California Institute of the Arts

Character Design for Video Games (Coursera)

In this course you will explore concepts and approaches involved in creating successful character designs that can be applied to video games. Following a first week delving into some foundational concepts for successful character design, each of the remaining three weeks are structured as a "master class" where you will observe three professional character designers at work in the studio: Andy Ristaino (Adventure Time), Jacky Ke Jiang (Journey), and Robertryan Cory (SpongeBob SquarePants).

Jun 8th 2026
4 Weeks
Information Design (Coursera) Coursera
University of California, San Diego

Information Design (Coursera)

A blank canvas is full of possibility. If you have an idea for a user experience, how do you turn it into a beautiful and effective user interface? This covers covers principles of visual design so that you can effectively organize and present information with your interfaces. You'll learn concrete strategies to create user interfaces, including key lessons in typography, information architecture, layout, color, and more. You’ll learn particular issues that arise in new device contexts, such as mobile and responsive interfaces.

Jun 14th 2026
3 Weeks
Introducción al diseño de hardware con Verilog (edX) EdX
Galileo University,GalileoX

Introducción al diseño de hardware con Verilog (edX)

Aprende el lenguaje de descripción de hardware Verilog, utilizado en la industria en el diseño de hardware digital y microprocesadores a la medida. En la actualidad, el hardware de soporte en sistemas digitales se suele diseñar en un solo circuito integrado FPGA (Field Programmable Gate Array), en parte debido al abundante espacio físico que ocuparía una implementación con varios circuitos integrados dedicados para este fin.

Self Paced
Self-Paced
Developing FPGA-accelerated cloud applications with SDAccel: Practice (POK) Polimi OPEN KNOWLEDGE
Politecnico di Milano

Developing FPGA-accelerated cloud applications with SDAccel: Practice (POK)

This course, which is the fourth one of a “series”, is for anyone passionate about practicing how to develop FPGA-accelerated applications with SDAccel. This course will present several scenarios where the workloads require more performance than can be obtained even by using the fastest CPUs. This scenario is turning cloud and data center architectures toward accelerated computing.

Available
5-12 Weeks
Energy Efficient Programming (openHPI) OpenHPI
Hasso-Plattner-Institut

Energy Efficient Programming (openHPI)

Efficiency in computer science often refers to the runtime or memory usage, that a certain algorithm needs to produce an output. However, efficiency can also describe the amount of energy, that is consumed by the hardware during the runtime of an algorithm. This course explains the relevant computer architecture components, as well as different coding techniques, that allow computer scientists to design and program energy efficient algorithms.

Mar 27th 2023
2 Weeks
High Performance Computer Architecture (Udacity) Udacity
Georgia Institute of Technology,Udacity

High Performance Computer Architecture (Udacity)

The course begins with a lesson on performance measurement, which leads to a discussion on the necessity of performance improvement. Pipelining, the first level of performance refinement, is reviewed. The weaknesses of pipelining will be exposed and explored, and various solutions to these issues will be studied. The student will learn hardware, software, and compiler based solutions to these issues.

Self Paced
Self-Paced
How Computers Work: Demystifying Computation (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

How Computers Work: Demystifying Computation (FutureLearn)

Explore the fundamentals of computing - computer architecture, binary logic, data processing, circuits, and more. Understand computation, the basis of every computer system. On this course, you’ll gain an understanding of how computers work at a fundamental level.

Jan 2nd 2023
4 Weeks
Fondamenti di informatica (Federica Web Learning) Federica Web Learning
University of Naples Federico II

Fondamenti di informatica (Federica Web Learning)

Il mondo moderno è sempre più dipendente dall’Informatica e conoscerne i fondamenti e le relative applicazioni risulta essenziale per comprendere il funzionamento degli attuali Sistemi di Elaborazione delle Informazioni, oramai diffusi nei contesti più disparati ed imprescindibili per molte delle attività della nostra vita quotidiana. Il corso di Fondamenti di Informatica si propone di fornire ai discenti le nozioni preliminari alla base dell’informatica, ed in particolare quelle relative al trattamento delle informazioni mediante procedure “automatizzabili”.

No sessions available
13-24 Weeks
FPGA Softcore Processors and IP Acquisition (Coursera) Coursera
University of Colorado Boulder

FPGA Softcore Processors and IP Acquisition (Coursera)

This course will introduce you to all aspects of development of Soft Processors and Intellectual Property (IP) in FPGA design. You will learn the extent of Soft Processor types and capabilities, how to make your own Soft Processor in and FPGA, including how to design the hardware and the software for a Soft Processor. You will learn how to add IP blocks and custom instructions to your Soft Processor.

Jun 8th 2026
4 Weeks