| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef __cuda_std__ |
| #define __cuda_std__ |
|
|
| #ifdef __CUDACC__ |
| #if defined(__clang__) |
| #include <cuda_fp16.h> |
| #define __fp16 __half |
| #endif |
| #if defined(__FLT16_MANT_DIG__) |
| #include <cuda_fp16.h> |
| #define _Float16 __half |
| #endif |
| #define _LIBCUDACXX_CUDACC_VER_MAJOR __CUDACC_VER_MAJOR__ |
| #define _LIBCUDACXX_CUDACC_VER_MINOR __CUDACC_VER_MINOR__ |
| #define _LIBCUDACXX_CUDACC_VER_BUILD __CUDACC_VER_BUILD__ |
| #define _LIBCUDACXX_CUDACC_VER \ |
| _LIBCUDACXX_CUDACC_VER_MAJOR * 100000 + _LIBCUDACXX_CUDACC_VER_MINOR * 1000 + \ |
| _LIBCUDACXX_CUDACC_VER_BUILD |
|
|
| #define _LIBCUDACXX_HAS_NO_LONG_DOUBLE |
| #else |
| #ifndef __host__ |
| #define __host__ |
| #endif |
| #ifndef __device__ |
| #define __device__ |
| #endif |
| #ifndef __forceinline__ |
| #define __forceinline__ |
| #endif |
| #endif |
|
|
| #ifdef _MSC_VER |
| #undef __cpp_lib_transparent_operators |
| #endif |
|
|
| |
| #define _LIBCUDACXX_NO_AUTO_LINK |
| #ifndef _LIBCUDACXX_NO_EXCEPTIONS |
| #define _LIBCUDACXX_NO_EXCEPTIONS |
| #endif |
| #ifndef _LIBCUDACXX_NO_RTTI |
| #define _LIBCUDACXX_NO_RTTI |
| #endif |
| |
| #ifndef _LIBCUDACXX_NODEBUG_TYPE |
| #define _LIBCUDACXX_NODEBUG_TYPE |
| #endif |
|
|
| #if defined(__CUDACC_RTC__) |
| # if defined(__CUDACC_RTC_INT128__) |
| # define __SIZEOF_INT128__ 16 |
| # else |
| # define _LIBCUDACXX_HAS_NO_INT128 |
| # endif |
| #endif |
|
|
| #if defined(_LIBCUDACXX_COMPILER_MSVC) || (defined(_LIBCUDACXX_CUDACC_VER) && (_LIBCUDACXX_CUDACC_VER < 1105000)) |
| # define _LIBCUDACXX_HAS_NO_INT128 |
| #endif |
|
|
| #ifndef _LIBCUDACXX_ASSERT |
| # define _LIBCUDACXX_ASSERT(x, m) ((void)0) |
| #endif |
| #define _LIBCUDACXX_FREESTANDING |
| #define _LIBCUDACXX_HAS_NO_WCHAR_H |
| #define _LIBCUDACXX_HAS_NO_THREAD_CONTENTION_TABLE |
| #define _LIBCUDACXX_HAS_NO_PLATFORM_WAIT |
| #define _LIBCUDACXX_HAS_NO_MONOTONIC_CLOCK |
| #define _LIBCUDACXX_HAS_NO_TREE_BARRIER |
| #ifdef __CUDACC_RTC__ |
| #define __ELF__ |
| #define _LIBCUDACXX_DISABLE_PRAGMA_GCC_SYSTEM_HEADER |
| #define _LIBCUDACXX_HAS_THREAD_API_EXTERNAL |
| #define __alignof(x) alignof(x) |
| #define _LIBCUDACXX_LITTLE_ENDIAN |
| #define _LIBCUDACXX_DISABLE_VISIBILITY_ANNOTATIONS |
| #define _LIBCUDACXX_HAS_NO_PRAGMA_PUSH_POP_MACRO |
| #endif |
| #define _LIBCUDACXX_HAS_EXTERNAL_ATOMIC_IMP |
| #define _LIBCUDACXX_ATOMIC_ALWAYS_LOCK_FREE(size, ptr) (size <= 8) |
| #define _LIBCUDACXX_HAS_NO_CXX20_CHRONO_LITERALS |
|
|
| #define _LIBCUDACXX_SYS_CLOCK_DURATION nanoseconds |
|
|
| #if defined(__PGIC__) && defined(__linux__) |
| #define __ELF__ |
| #endif |
|
|
| #define _LIBCUDACXX_ENABLE_BIT_BACKPORT |
|
|
| #define _LIBCUDACXX_HAS_CUDA_ATOMIC_EXT |
|
|
| #include "libcxx/include/__config" |
|
|
| #if defined(__CUDA_ARCH__) |
| #define _LIBCUDACXX_HAS_THREAD_API_CUDA |
| #elif defined(_LIBCUDACXX_COMPILER_MSVC) |
| #define _LIBCUDACXX_HAS_THREAD_API_WIN32 |
| #endif |
|
|
| #if _GNUC_VER <= 409 |
| #define _LIBCUDACXX_CUDA_HAS_NO_HOST_STD_ATOMIC_INIT |
| #endif |
|
|
| |
| #undef _LIBCUDACXX_EXECUTION_SPACE_SPECIFIER |
| #define _LIBCUDACXX_EXECUTION_SPACE_SPECIFIER __host__ __device__ |
| #undef _LIBCUDACXX_ATOMIC_FLAG_TYPE |
| #define _LIBCUDACXX_ATOMIC_FLAG_TYPE int |
| #undef _LIBCUDACXX_INLINE_VISIBILITY |
| #define _LIBCUDACXX_INLINE_VISIBILITY _LIBCUDACXX_EXECUTION_SPACE_SPECIFIER |
| #undef _LIBCUDACXX_FUNC_VIS |
| #define _LIBCUDACXX_FUNC_VIS _LIBCUDACXX_INLINE_VISIBILITY |
| #undef _LIBCUDACXX_TYPE_VIS |
| #define _LIBCUDACXX_TYPE_VIS |
|
|
| #ifndef _LIBCUDACXX_ABI_UNSTABLE |
| # define _LIBCUDACXX_ABI_UNSTABLE |
| #endif |
|
|
| #define _LIBCUDACXX_CUDA_API_VERSION 1008001 |
|
|
| #define _LIBCUDACXX_CUDA_API_VERSION_MAJOR \ |
| (_LIBCUDACXX_CUDA_API_VERSION / 1000000) |
|
|
| #define _LIBCUDACXX_CUDA_API_VERSION_MINOR \ |
| (_LIBCUDACXX_CUDA_API_VERSION / 1000 % 1000) |
|
|
| #define _LIBCUDACXX_CUDA_API_VERSION_PATCH \ |
| (_LIBCUDACXX_CUDA_API_VERSION % 1000) |
|
|
| #ifndef _LIBCUDACXX_CUDA_ABI_VERSION_LATEST |
| # define _LIBCUDACXX_CUDA_ABI_VERSION_LATEST 4 |
| #endif |
|
|
| #ifdef _LIBCUDACXX_CUDA_ABI_VERSION |
| # if _LIBCUDACXX_CUDA_ABI_VERSION != 2 && _LIBCUDACXX_CUDA_ABI_VERSION != 3 && _LIBCUDACXX_CUDA_ABI_VERSION != 4 |
| # error Unsupported libcu++ ABI version requested. Please define _LIBCUDACXX_CUDA_ABI_VERSION to either 2 or 3. |
| # endif |
| #else |
| # define _LIBCUDACXX_CUDA_ABI_VERSION _LIBCUDACXX_CUDA_ABI_VERSION_LATEST |
| #endif |
|
|
| #ifdef _LIBCUDACXX_PIPELINE_ASSUMED_ABI_VERSION |
| # if _LIBCUDACXX_PIPELINE_ASSUMED_ABI_VERSION != _LIBCUDACXX_CUDA_ABI_VERSION |
| # error cuda_pipeline.h has assumed a different libcu++ ABI version than provided by this library. To fix this, please include a libcu++ header before including cuda_pipeline.h, or upgrade to a version of the toolkit this version of libcu++ shipped in. |
| # endif |
| #endif |
|
|
| #ifndef _LIBCUDACXX_CUDA_ABI_NAMESPACE |
| # define _LIBCUDACXX_CUDA_ABI_NAMESPACE _LIBCUDACXX_CONCAT(__,_LIBCUDACXX_CUDA_ABI_VERSION) |
| #endif |
|
|
| #ifndef _LIBCUDACXX_BEGIN_NAMESPACE_CUDA |
| # define _LIBCUDACXX_BEGIN_NAMESPACE_CUDA \ |
| namespace cuda { inline namespace _LIBCUDACXX_CUDA_ABI_NAMESPACE { |
| #endif |
| #ifndef _LIBCUDACXX_END_NAMESPACE_CUDA |
| # define _LIBCUDACXX_END_NAMESPACE_CUDA } } |
| #endif |
|
|
| #ifndef _LIBCUDACXX_BEGIN_NAMESPACE_CUDA_DEVICE |
| # define _LIBCUDACXX_BEGIN_NAMESPACE_CUDA_DEVICE \ |
| namespace cuda { namespace device { inline namespace _LIBCUDACXX_CUDA_ABI_NAMESPACE { |
| #endif |
| #ifndef _LIBCUDACXX_END_NAMESPACE_CUDA_DEVICE |
| # define _LIBCUDACXX_END_NAMESPACE_CUDA_DEVICE } } } |
| #endif |
|
|
| |
| #undef _LIBCUDACXX_BEGIN_NAMESPACE_STD |
| #define _LIBCUDACXX_BEGIN_NAMESPACE_STD \ |
| namespace cuda { namespace std { inline namespace _LIBCUDACXX_CUDA_ABI_NAMESPACE { |
|
|
| #undef _LIBCUDACXX_END_NAMESPACE_STD |
| #define _LIBCUDACXX_END_NAMESPACE_STD } } } |
|
|
| #undef _CUDA_VSTD |
| #define _CUDA_VSTD cuda::std::_LIBCUDACXX_CUDA_ABI_NAMESPACE |
|
|
| #undef _LIBCUDACXX_BEGIN_NAMESPACE_STD_NOVERSION |
| #define _LIBCUDACXX_BEGIN_NAMESPACE_STD_NOVERSION namespace cuda { namespace std { |
| #undef _LIBCUDACXX_END_NAMESPACE_STD_NOVERSION |
| #define _LIBCUDACXX_END_NAMESPACE_STD_NOVERSION } } |
|
|
| #endif |
|
|