alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
AccGpuSyclNvidia.hpp
Go to the documentation of this file.
1/* Copyright 2025 Aurora Perego
2 * SPDX-License-Identifier: MPL-2.0
3 */
4
5#pragma once
6
8#include "alpaka/acc/Tag.hpp"
10
11#if defined(ALPAKA_ACC_SYCL_ENABLED) && defined(ALPAKA_SYCL_ONEAPI_GPU_NVIDIA)
12
13// Set by CMake for Debug builds with oneAPI 2025.0, see cmake/alpakaCommon.cmake
14# ifdef ALPAKA_SYCL_ONEAPI_GPU_NVIDIA_DEBUG_UNSUPPORTED
15# error \
16 "The SYCL backend for NVIDIA GPUs does not support Debug builds with oneAPI 2025.0, because ptxas fails on the device debug information. Use a different build type or a different version of oneAPI."
17# endif
18
19namespace alpaka
20{
21 //! The Nvidia GPU SYCL accelerator.
22 //!
23 //! This accelerator allows parallel kernel execution on a oneAPI-capable Nvidia GPU target device.
24 template<typename TDim, typename TIdx>
25 using AccGpuSyclNvidia = AccGenericSycl<TagGpuSyclNvidia, TDim, TIdx>;
26
27 namespace trait
28 {
29 template<typename TDim, typename TIdx>
30 struct AccToTag<alpaka::AccGpuSyclNvidia<TDim, TIdx>>
31 {
32 using type = alpaka::TagGpuSyclNvidia;
33 };
34
35 template<typename TDim, typename TIdx>
36 struct TagToAcc<alpaka::TagGpuSyclNvidia, TDim, TIdx>
37 {
38 using type = alpaka::AccGpuSyclNvidia<TDim, TIdx>;
39 };
40 } // namespace trait
41
42} // namespace alpaka
43
44#endif
The alpaka accelerator library.
typename trait::AccToTag< TAcc >::type AccToTag
maps an acc type to a tag type
Definition Tag.hpp:69
typename trait::TagToAcc< TTag, TDim, TIdx >::type TagToAcc
maps a tag type to an acc type
Definition Tag.hpp:76