Developer Reference

Migrating OpenCL™ FPGA Designs to SYCL*

ID 767849
Date 5/08/2024
Public

Additional Information

For additional information, refer to the following resources:

Resource Description
Intel® oneAPI DPC++/C++ Compiler Handbook for Intel FPGAs The main resource for developing SYCL* applications for Intel® FPGA devices.
Data Parallel C++: Programming Accelerated Systems Using C++ and SYCL* Third-party open-access book to learn how to accelerate C++ programs using data parallelism. This book enables you to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics.
SYCL 2020 Specification Specifies SYCL requirements and standards.
SYCL* 2020 Specification Features and DPC++ Language Extensions Supported in Intel® oneAPI DPC++/C++ Compiler (icpx) Describes the status of support for SYCL 2020 specification features and SYCL language extensions in the Intel® oneAPI DPC++/C++ Compiler releases.
Intel® oneAPI Base Toolkit

Main landing page of the Intel® oneAPI Base Toolkit, which includes the Intel® oneAPI DPC++/C++ Compiler and provides tools and libraries for developing high-performance, data-centric applications across diverse architectures.

Intel® FPGA Add-on for oneAPI Base Toolkit Main landing page for Intel® FPGA flow.
FPGA Tutorials on GitHub*

Refer to these tutorials for more in-depth instructions about how to develop SYCL* applications for FPGA devices.

oneAPI Training

Training site with webinars and quick videos.

FPGA-specific Jupiter Notebooks on DevCloud

Training site to sign-up with the Intel® DevCloud and get hands-on practice with code samples in Jupyter Notebooks* running live on Intel® DevCloud.

Get Started with the Intel® oneAPI Base Toolkit on the DevCloud.

Provides instructions to get started with the Intel® DevCloud, which is a cloud-based development sandbox to actively prototype and experiment with workloads on Intel hardware.

Installation Guide for Intel® oneAPI Toolkits

Provides instructions for installing oneAPI toolkits.

FPGA Workflows on Third-Party IDEs for Intel® oneAPI Toolkits (Eclipse and Visual Studio)

Provides instructions for using Intel® oneAPI tools via third-party integrated development environments (IDEs) on Linux* and Windows* for FPGA development.

FPGA Development for Intel® oneAPI Toolkits with Visual Studio Code on Linux

Provides instructions for using Visual Studio Code on Linux* for FPGA development.

Get Started with the Intel® oneAPI Base Toolkit for Linux*

Provides Linux-specific getting started instructions.

Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

Provides information about the Intel® oneAPI DPC++/C++ Compiler (icx-cl/icpx) and runtime environment.

Intel® oneAPI Programming Guide

Describes the oneAPI programming model in detail, including the FPGA flows.

Intel® VTune™ Profiler User Guide

Provides a comprehensive overview of the product functionality, tuning methodologies, workflows, and instructions to use Intel® VTune Profiler performance analysis tool.

Analyzing CPU and FPGA (Intel® Arria® 10 GX) Interaction

Provides instructions for configuring your platform to analyze an interaction of your CPU and FPGA using the Intel® Arria® 10 GX FPGA as an example.

Profiling an FPGA-driven SYCL Application

Provides instructions for profiling an FPGA-driven SYCL application.

Legacy Intel® FPGA SDK for OpenCL™ Pro Edition Documentation Provides links to all guides pertaining to the Intel® FPGA SDK for OpenCL™ Pro Edition legacy software.
Open FPGA Stack (OFS) oneAPI Accelerator Support Package (ASP): Getting Started User Guide Outlines the procedure for creating an oneAPI OFS ASP for your custom platform.

This replaces the Intel® FPGA Software Development Kit (SDK) for OpenCL™ Pro Edition Custom Platform.

Intel® FPGA SDK for OpenCL™ Pro Edition: Custom Platform Toolkit User Guide

Outlines the procedure for creating an Intel® FPGA Software Development Kit (SDK) for OpenCL™ Pro Edition Custom Platform.

IMPORTANT:
For oneAPI FPGA acceleration applications, the oneAPI Open FPGA Stack (OFS) Accelerator Support Package (ASP) replaces OpenCL™ custom platform BSPs.

Quartus® Prime Software User Guides

Provides links to various Intel® Quartus® Prime user guides, which cover specific topics to help you see your design through to completion.

Get Started with Intel® Distribution for GDB* on Linux* OS Host

Provides instructions for using Intel® Distribution for GDB* for debugging SYCL and OpenCL™ applications.