/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
HeterogeneousCore/AlpakaInterface/interface/warpsize.h
30 строк
1 KB
Jan Stephan
Use the GPU family macros
29 сен 2025, 09:10
Не верифицирован
29 сен 2025, 09:10
6970d6c
Код
Авторство
О чём код?
#ifndef HeterogeneousCore_AlpakaInterface_interface_warpsize_h #define HeterogeneousCore_AlpakaInterface_interface_warpsize_h namespace cms::alpakatools { // TODO implement constexpt warp size in alpaka, and replace this workaround with that functionality. #if defined(__SYCL_DEVICE_ONLY__) // the warp size is not defined at compile time for SYCL backend #error "The SYCL backend does not support compile-time warp size" inline constexpr int warpSize = 0; #elif defined(__CUDA_ARCH__) // CUDA always has a warp size of 32 inline constexpr int warpSize = 32; #elif defined(__HIP_DEVICE_COMPILE__) // HIP/ROCm may have a warp size of 32 or 64 depending on the target device #if defined(__GFX9__) inline constexpr int warpSize = 64; #elif defined(__GFX10__) or defined(__GFX11__) or defined(__GFX12__) inline constexpr int warpSize = 32; #else #error "Unknown AMDGCN architecture" #endif #else // CPU back-ends always have a warp size of 1 inline constexpr int warpSize = 1; #endif } // namespace cms::alpakatools #endif // HeterogeneousCore_AlpakaInterface_interface_warpsize_h