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

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

This course, which is the third one of a “series”, is for anyone passionate about learning the theory on how to develop FPGA-accelerated applications with SDAccel. We are entering an era in which technological progress induces paradigm shifts in computing.

As a tradeoff between the two extreme characteristics of GPP and ASIC, we can find a new concept, a new idea of computing... the reconfigurable computing, which has combined the advantages of both the previous worlds. Within this context, we can say that reconfigurable computing will widely, pervasively, and gradually impact human lives. Hence, it is time that we focus on how reconfigurable computing and reconfigurable system design techniques are to be utilised for building applications.

On one hand reconfigurable computing can have better performance with respect to a software implementation but paying this in terms of time to implement. On the other hand a reconfigurable device can be used to design a system without requiring the same design time and complexity compared to a full custom solution but being beaten in terms of performance.
Within this context, the Xilinx SDx tools, including the SDAccel environment, the SDSoC environment, and Vivado HLS, provide an out-of-the-box experience for system programmers looking to partition elements of a software application to run in an FPGA-based hardware element, and having that hardware work seamlessly with the rest of the application running in a processor or embedded processor.
The out-of-the-box experience will provide interesting and, let us say, “good enough” results for many applications.
However, this may not be true for you, you may be looking for better performance, data throughput, reduced latency, or to reduce the resources usage...
This course is focusing on this. After introducing you to the FPGAs we are going to dig more into the details on how to use Xilinx SDAccel providing you also with working examples on how to optimize the hardware logic to obtain the best of of your hardware implementations. In this case, certain attributes, directives, or pragmas, can be used to direct the compilation and synthesis of the hardware kernel, or to optimise the function of the data mover operating between the processor and the hardware logic.
Furthermore, in this course we are going to focus on distributed, heterogeneous infrastructures, presenting how to bring your solutions to life by using the Amazon EC2 F1 instances.

Prerequisites
This course follows the previous ones “FPGA computing systems: A Bird’s Eye View on Reconfigurable Computing” and “FPGA computing systems: Partial Dynamic Reconfiguration”. Within this context no specific background knowledge is requested. Anyone with moderate computer experience should be able to master the materials in this course.

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

Related Courses

Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

May 18th 2026
4 Weeks
Introduction to High-Performance and Parallel Computing (Coursera) Coursera
University of Colorado Boulder

Introduction to High-Performance and Parallel Computing (Coursera)

This course introduces the fundamentals of high-performance and parallel computing. It is targeted to scientists, engineers, scholars, really everyone seeking to develop the software skills necessary for work in parallel software environments. These skills include big-data analysis, machine learning, parallel programming, and optimization. We will cover the basics of Linux environments and bash scripting all the way to high throughput computing and parallelizing code.

May 25th 2026
4 Weeks
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
FPGA computing systems: A Bird’s Eye View on Reconfigurable Computing (POK) Polimi OPEN KNOWLEDGE
Politecnico di Milano

FPGA computing systems: A Bird’s Eye View on Reconfigurable Computing (POK)

This course is the first one of a “series”, aimed at providing a structured understanding on how the FPGAs are working and of the rationale behind the choice of them to implement a desired system. This course is for anyone passionate in learning how a hardware component can be adapted at runtime to better respond to users/environment needs.

Available
4 Weeks
Computing for Cancer Informatics (Coursera) Coursera
Johns Hopkins University

Computing for Cancer Informatics (Coursera)

One of the key cancer informatics challenges is dealing with and managing the explosion of large data from multiple sources that are often too large to work with on typical personal computers. This course is designed to help researchers and investigators to understand the basics of computing and to familiarize them with various computing options to ultimately help guide their decisions on the topic.

May 18th 2026
4 Weeks
Teaching Impacts of Technology: Fundamentals (Coursera) Coursera
University of California, San Diego

Teaching Impacts of Technology: Fundamentals (Coursera)

In this course you’ll focus on the fundamentals of teaching the impacts of technology, starting by exploring how you interact with and benefit from technology in a typical 24 hour period, such as the desire for instant food and entertainment. This will be done through a series of paired teaching sections, exploring a specific “Impact of Computing” in your typical day and the “Technologies and Computing Concepts” that enable that impact, all at a K12-appropriate level.

Jun 3rd 2026
4 Weeks
Ethical Issues in Computing Applications (Coursera) Coursera
University of Colorado Boulder

Ethical Issues in Computing Applications (Coursera)

Computing systems and technologies fundamentally impact the lives of most people in the world, including how we communicate, get information, socialize, and receive healthcare. This course is the third of a three course sequence that examines ethical issues in the design and implementation of computing systems and technologies, and reflects upon the broad implication of computing on our society. It covers medical applications, uses of robotics, autonomous vehicles, and the future of work.

Jun 1st 2026
5-12 Weeks
Capstone Project: Teaching Impacts of Technology (Coursera) Coursera
University of California, San Diego

Capstone Project: Teaching Impacts of Technology (Coursera)

In this project-based course you’ll review the Advanced Placement Computer Science Principles course and exam description guide to prepare for the “Explore Task”, where students must research a recent computing innovation and and analyze its impacts on the world. You’ll also review the description of this task from the student perspective and complete the task yourself. Then you’ll assess sample secondary student work by following the APCSP scoring guidelines as well as provide feedback to a fellow learner on their submitted task and receive the same from fellow learners.

Jun 3rd 2026
5-12 Weeks
Industrial Applications of AI (Coursera) Coursera
L&T EduTech

Industrial Applications of AI (Coursera)

The course Embarks on a transformative learning journey exploring the power of Artificial Intelligence across diverse fields such as electrical, mechanical, civil, and general applications. This course elevates the learner’s insight on AI towards the real-world practices by bridging the gap between theory and practical applications. It also provides hands-on experience of applying AI algorithms into potential applications.

Jun 1st 2026
5-12 Weeks
Introduction to FPGA Design for Embedded Systems (Coursera) Coursera
University of Colorado Boulder

Introduction to FPGA Design for Embedded Systems (Coursera)

Programmable Logic has become more and more common as a core technology used to build electronic systems. By integrating soft-core or hardcore processors, these devices have become complete systems on a chip, steadily displacing general purpose processors and ASICs. In particular, high performance systems are now almost always implemented with FPGAs. This course will give you the foundation for FPGA design in Embedded Systems along with practical design skills.

Jun 1st 2026
4 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

May 18th 2026
4 Weeks