-
Notifications
You must be signed in to change notification settings - Fork 754
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove FPGA features from DPC++ #16929
Comments
It is sad to remove so much work from an open-source project if someone wants to reuse it later. |
The last oneAPI / DPC++ release to support FPGA is 2025.0. The corresponding branch in this "intel/llvm" repo is sycl-rel-6_0_0. As you know, Intel is in the process of adding support for SYCL into the upstream "llvm" repo. The community expects us to support the features we upstream, and we do not have the resources to support FPGA devices or features that are specific to FPGA. However, we would be very happy to see other members of the community pick up this work and add FPGA support to upstream "llvm". |
Is it known if this means the old OpenCL stack, or if Altera will support SYCL ? |
I cannot speak for Altera. If someone from Altera is monitoring this issue, maybe they will answer. |
Removes support for any FPGA related options and any options that use FPGA specific arguments. Upon usage of any of these options, a specific error will be emitted: > clang++ -fintelfpga file.cpp clang++: error: option '-fintelfpga' is not supported and has been removed from the compiler. Please see the compiler documentation for more details The following options are being handled: - -fintelfpga - -fsycl-targets=spir64_fpga[-unknown-unknown] - -fsycl-link=early/image - -Xsycl-target-backend=spir64_fpga "opt" - -reuse-exe=arg - -fsycl-help=fpga This mainly removes support of the options as specified, subsequent cleanup of driver behaviors will be done in a later change. Due to the broad impact of these changes, all associated LIT tests have been updated/removed. Associated issue: #16929
With the launch of Altera as a separate entity, oneAPI DPC++ will concentrate on support for GPU and CPU devices. Altera will continue to provide FPGA support through their dedicated FPGA software development tools. You can read more about this in the deprecation notice at the top of the oneAPI DPC++ release notes. As a result, the following features are scheduled for removal:
We will remove the sycl_ext_oneapi_annotated_arg extension. We added this in order to decorate kernel arguments with properties, which were mostly specific to FPGA. It is possible that non-FPGA code could use this extension to decorate kernel arguments with the
alignment
orunaliased
properties, though it would be more common to use sycl_ext_oneapi_annotated_ptr for this purpose because these properties apply only to pointers. (Note the difference is “arg” vs. “ptr”.) We plan to keep supporting sycl_ext_oneapi_annotated_ptr. Therefore, code using sycl_ext_oneapi_annotated_arg should migrate to use sycl_ext_oneapi_annotated_ptr instead.We will remove the sycl_ext_intel_usm_address_spaces extension. This extension adds address spaces named
ext_intel_global_device_space
andext_intel_global_host_space
as well asmulti_ptr
aliases nameddevice_ptr
andhost_ptr
(and some other variants). Although it’s possible to use these on non-FPGA devices, they provide no benefit. Therefore, code using this extension should use the standard SYCL address spaces instead.We will remove the following compiler command line options which are all specific to FPGA:
-fsycl-targets=spir64_fpga
-fsycl-targets=spir64_fpga-unknown-unknown
-fintelfpga
-fsycl-help=fpga
-fsycl-link=early
-fsycl-link=image
-reuse-exe
-fhls
-Xsycl-target-backend=spir64_fpga
We will remove “fpga” from the device types recognized by the ONEAPI_DEVICE_SELECTOR environment variable.
We will remove “fpga” from the device types recognized by the SYCL_DEVICE_ALLOWLIST environment variable.
We will remove all of the following extensions that are specific to FPGA devices:
We will remove two properties from the sycl_ext_oneapi_device_global extension that are specific to FPGA named
init_mode
andimplement_in_csr
.The text was updated successfully, but these errors were encountered: