Introduction to OpenCL on FPGAs (Coursera)

Offered by Intel Corporation,
Introduction to OpenCL on FPGAs (Coursera)

OpenCL™ is a standard for writing parallel programs for heterogeneous systems, much like the NVidia CUDA programming language. In the FPGA environment, OpenCL constructs are synthesized into custom logic. An overview of the OpenCL standards will be discussed. You will learn about the platform, execution, memory, and programming models that define the OpenCL specification. Syntax of the OpenCL language will be discussed, and you will see examples of OpenCL usage.

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

The similarities and differences between OpenCL and CUDA will be highlighted throughout. The advantages of using the Intel® FPGA OpenCL solution will be presented.OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission of KhronosOther names and brands may be claimed as the property of others.

Syllabus

WEEK 1
Heterogeneous Parallel Computing
The student will be provided with a brief motivation for the necessity of parallel computing along with its inherent challenges.

WEEK 2
OpenCL for Platform and Host-side Software
In this module, we will begin to craft an understanding of OpenCL as a viable framework for the development of heterogeneous Parallel Computing Solutions on Intel FPGAs

WEEK 3
Executing OpenCL Kernels
For this module, we will explore the basics of the OpenCL standard.

WEEK 4
NDRange Kernels
Building upon what we've covered up to this point, you will learn how to write your very own OpenCL program

WEEK 5
OpenCL on Intel FPGAs
The Finale: you will get to compile and run your OpenCL programs using the Intel FPGA SDK for OpenCL

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

Related Courses

Avatar Psychology for Designers (Coursera) Coursera
Michigan State University

Avatar Psychology for Designers (Coursera)

This course covers the latest and greatest psychological research on avatars and is relevant to current and future designers of any medium that includes user self-representations (e.g., video games, virtual worlds, robots, automobiles, social media, etc.). By taking this course, you will be able to define digital and non-digital avatars and identify how they are applicable in everyday life.

Sep 28th 2026
4 Weeks
Solving Algorithms for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Solving Algorithms for Discrete Optimization (Coursera)

Discrete Optimization aims to make good decisions when we have many possibilities to choose from. Its applications are ubiquitous throughout our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports.

Oct 5th 2026
4 Weeks
Object Oriented Programming in Java (Coursera) Coursera
University of California, San Diego

Object Oriented Programming in Java (Coursera)

Welcome to our course on Object Oriented Programming in Java using data visualization. People come to this course with many different goals -- and we are really excited to work with all of you! Some of you want to be professional software developers, others want to improve your programming skills to implement that cool personal project that you’ve been thinking about, while others of you might not yet know why you’re here and are trying to figure out what this course is all about.

Sep 21st 2026
5-12 Weeks
Introduction to .NET Core (Coursera) Coursera
Board Infinity

Introduction to .NET Core (Coursera)

This course is an introductory-level course for software developers who want to learn the basics of developing applications with .NET Core. .NET Core is a cross-platform, open-source development platform that allows developers to create applications for Windows, Linux, and macOS. Throughout this course, students will learn the fundamental concepts of .NET Core, including its architecture, programming model, and tools. They will also learn how to create, build, and deploy applications using .NET Core.

Oct 5th 2026
3 Weeks
Agile with Atlassian Jira (Coursera) Coursera
Atlassian

Agile with Atlassian Jira (Coursera)

Agile teams use “just enough” planning and an incremental approach to accomplishing the work of the team. Every project and every team uses a custom agile methodology. This course discusses common foundational principles and practices used by agile methodologies, providing the student a flexible set of tools to use in any role (e.g. product owner, scrum master, project manager, team member) on any agile team.

Sep 28th 2026
4 Weeks
Software Processes and Agile Practices (Coursera) Coursera
University of Alberta

Software Processes and Agile Practices (Coursera)

This course delves into a variety of processes to structure software development. It also covers the foundations of core Agile practices, such as Extreme Programming and Scrum. Upon successful completion of this course, you will be able to: distinguish between different process models for organizing software production; gauge the applicability of process models for a software development project; apply the fundamentals of Agile software development and management practices.

Sep 28th 2026
4 Weeks
Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Sep 21st 2026
5-12 Weeks
Software Architecture (Coursera) Coursera
University of Alberta

Software Architecture (Coursera)

The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved. We'll also talk about how the architecture touches on the process of software development.

Sep 21st 2026
4 Weeks
Executing Full Text Queries with Elasticsearch (Coursera) Coursera
Board Infinity

Executing Full Text Queries with Elasticsearch (Coursera)

This course is designed to teach you how to execute full-text queries with Elasticsearch, a powerful search and analytics engine widely used for data exploration, log analysis, and real-time search applications. In this course, you will learn the basics of Elasticsearch, including how to install and configure the software, index data, and create mappings. You will then explore the various query types supported by Elasticsearch, such as term queries, match queries, and phrase queries. You will also learn how to use Elasticsearch's aggregation framework to analyze and summarize your data.

Oct 5th 2026
3 Weeks
Design Patterns (Coursera) Coursera
University of Alberta

Design Patterns (Coursera)

This course extends object-oriented analysis and design by incorporating design patterns to create interactive applications. Through a survey of established design patterns, learners will gain a foundation for more complex software applications. Finally, learners will identify problematic software designs by referencing a catalog of code smells. You will be challenged in the Capstone Project to redesign an existing Java-based Android application to implement a combination of design patterns. You will also critique a given Java codebase for code smells.

Sep 21st 2026
4 Weeks