11 #if defined(ALPAKA_ACC_SYCL_ENABLED) && defined(ALPAKA_SYCL_ONEAPI_FPGA)
13 # include <sycl/sycl.hpp>
24 # pragma clang diagnostic push
25 # pragma clang diagnostic ignored "-Wweak-vtables"
27 struct IntelFpgaSelector final
29 # ifdef ALPAKA_FPGA_EMULATION
30 static constexpr
auto platform_name =
"Intel(R) FPGA Emulation Platform for OpenCL(TM)";
32 static constexpr
auto platform_name =
"Intel(R) FPGA SDK for OpenCL(TM)";
35 auto operator()(sycl::device
const& dev)
const ->
int
37 auto const& platform = dev.get_platform().get_info<sycl::info::platform::name>();
38 auto const is_intel_fpga = dev.is_accelerator() && (platform == platform_name);
40 return is_intel_fpga ? 1 : -1;
44 # pragma clang diagnostic pop
49 using PlatformFpgaSyclIntel = PlatformGenericSycl<detail::IntelFpgaSelector>;
56 struct DevType<PlatformFpgaSyclIntel>
58 using type = DevGenericSycl<PlatformFpgaSyclIntel>;
The alpaka accelerator library.