14#define ALPAKA_ASSERT(...) assert(__VA_ARGS__)
18#define ALPAKA_NOOP(...) \
25#if !defined(ALPAKA_DISABLE_ASSERT_ACC)
26# define ALPAKA_ASSERT_ACC_IMPL(...) ALPAKA_ASSERT(__VA_ARGS__)
28# define ALPAKA_ASSERT_ACC_IMPL(...) ALPAKA_NOOP(__VA_ARGS__)
36#if defined(ALPAKA_LANG_CUDA) && defined(__CUDA_ARCH__)
38# define ALPAKA_ASSERT_ACC(...) ALPAKA_ASSERT_ACC_IMPL(__VA_ARGS__)
39#elif defined(ALPAKA_LANG_HIP) && defined(__HIP_DEVICE_COMPILE__)
41# define ALPAKA_ASSERT_ACC(...) ALPAKA_ASSERT_ACC_IMPL(__VA_ARGS__)
42#elif defined(ALPAKA_LANG_SYCL) && defined(__SYCL_DEVICE_ONLY__)
44# if defined(SYCL_EXT_ONEAPI_ASSERT)
45# define ALPAKA_ASSERT_ACC(...) ALPAKA_ASSERT_ACC_IMPL(__VA_ARGS__)
47# define ALPAKA_ASSERT_ACC(...) ALPAKA_NOOP(__VA_ARGS__)
53# define ALPAKA_ASSERT_ACC(...) ALPAKA_ASSERT(__VA_ARGS__)
60 template<
typename TArg>
64 [[maybe_unused]] TArg
const& arg)
66 if constexpr(std::is_signed_v<TArg>)
77 template<
typename TArg>
85 template<
typename TLhs,
typename TRhs>
89 [[maybe_unused]] TRhs
const& rhs)
91 if constexpr(std::is_signed_v<TRhs> || (TLhs::value != 0u))
101 template<
typename TLhs,
typename TRhs>
#define ALPAKA_ASSERT_ACC(...)
ALPAKA_ASSERT_ACC is an assert-like macro.
#define ALPAKA_FN_HOST_ACC
All functions that can be used on an accelerator have to be attributed with ALPAKA_FN_ACC or ALPAKA_F...
#define ALPAKA_NO_HOST_ACC_WARNING
Disable nvcc warning: 'calling a host function from host device function.' Usage: ALPAKA_NO_HOST_ACC_...
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC constexpr auto assertValueUnsigned(TArg const &arg) -> void
This method checks integral values if they are greater or equal zero. The implementation prevents war...
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC constexpr auto assertGreaterThan(TRhs const &rhs) -> void
This function asserts that the integral value TLhs is greater than TRhs.
ALPAKA_NO_HOST_ACC_WARNING static ALPAKA_FN_HOST_ACC constexpr auto assertGreaterThan(TRhs const &rhs)
ALPAKA_NO_HOST_ACC_WARNING static ALPAKA_FN_HOST_ACC constexpr auto assertValueUnsigned(TArg const &arg)