Course

Developing FPGA-accelerated cloud applications with SDAccel: Practice

Politecnico di Milano

This course, offered by Politecnico di Milano, focuses on developing FPGA-accelerated cloud applications with SDAccel. Learn how to harness the power of Xilinx SDAccel to program Amazon EC2 F1 instances and accelerate computational biology algorithms. Through this course, you will gain insights into reconfigurable cloud infrastructure, FPGA acceleration, and the implementation of the Smith-Waterman algorithm for DNA sequence alignment.

  • Understand the principles of reconfigurable cloud infrastructure and the role of FPGA-based solutions in cloud computing.
  • Explore the applicative domains and stories of FPGA acceleration in the cloud, particularly on the AWS EC2 F1 instances.
  • Delve into the analysis and optimization of the Smith-Waterman algorithm, a key algorithm in computational biology, for FPGA-based acceleration on Amazon EC2 F1 instances.

Certificate Available ✔

Get Started / More Info
Developing FPGA-accelerated cloud applications with SDAccel: Practice
Course Modules

Gain in-depth knowledge of reconfigurable cloud infrastructure, FPGA acceleration, and the Smith-Waterman algorithm through detailed modules. Explore practical examples and enhance your skills in developing FPGA-accelerated applications with SDAccel.

Reconfigurable cloud infrastructure

Get introduced to reconfigurable cloud infrastructure and its role in accelerating computational workloads. Understand the basics of cloud computing and explore FPGA-based solutions, particularly Intel and Xilinx FPGA-based solutions. Learn about the AWS EC2 F1 instances and their relevance in cloud acceleration.

On how to accelerate the cloud with SDAccel

Explore the applicative domains and real-world stories of FPGA acceleration in the cloud, focusing on the AWS EC2 F1 instances. Understand the platform model and learn how to create kernels from RTL IP, C/C++, and OpenCL. Gain insights into compiling the platform, creating an Amazon FPGA Image, and developing and executing host applications on F1 instances.

Summing things up: the Smith-Waterman algorithm

Dive into the Smith-Waterman algorithm, a fundamental algorithm in computational biology. Understand the problem description, analyze the algorithm and its code, and explore the Roofline model and code profiling. Gain insights into static code analysis, performance prediction via the Roofline model, and SDAccel environment profiling and optimization guide.

The Smith-Waterman example in details

Explore the details of the Smith-Waterman algorithm, including its implementation, parallelism, systolic array architecture, input compression, and shift register. Understand the acceleration of Smith-Waterman on Amazon EC2 F1 instances and gain access to the source codes for further exploration and implementation.

Course conclusions

Conclude the course with insights into architectural optimizations for high performance and energy-efficient Smith-Waterman implementation on FPGAs using OpenCL. Gain a comprehensive understanding of the course content and explore future directions in FPGA-accelerated cloud applications with SDAccel.

More Design and Product Courses

Excel/VBA for Creative Problem Solving

University of Colorado Boulder

Learn how to optimize Excel spreadsheets using VBA to automate procedures, implement custom functions, and solve real world problems in this specialized course.

Combining Scrum with Other Agile Methodologies

LearnQuest

This course equips Scrum beginners with advanced Agile skills by exploring the integration of other Agile methodologies. Students will gain insights into combining...

Hypothesis-Driven Development

University of Virginia

Hypothesis-Driven Development is a comprehensive course that teaches you to focus on user needs, reduce waste, and accelerate value delivery through hypothesis-driven...

UX and Interface Design for Embedded Systems

University of Colorado Boulder

UX and Interface Design for Embedded Systems focuses on user experience (UX) and principles for designing embedded interface components to meet user needs and preferences....