Files
project_6/cccl_upstream/libcudacxx/include/cuda/std/cstdint
EngineX CI 56fd68e7dd [INFRA] Import NVIDIA/CCCL upstream as optimization reference library
CCCL (CUDA C++ Core Libraries) provides:
- CUB: device/block/warp-level GPU primitives (reduce, scan, sort, topk)
- Thrust: high-level parallel algorithms (transform_reduce, sort, scan)
- libcudacxx: CUDA C++ standard library (atomics, barriers, memory)
- cudax: experimental features (memory resources, allocators)
- Tuning policies: per-SM hardware-specific algorithm parameters

Competition optimization vectors mapped to CCCL:
- Output TPS (83% weight): warp_reduce, block_reduce, device_topk
- Input TPS (14% weight): device_scan, block_load, prefetch
- Cache TPS (3% weight): prefix caching strategy patterns
- Memory (0.9 util): pooled/cached/buddy allocators

Source: https://github.com/NVIDIA/cccl (shallow clone, HEAD only)
License: Apache-2.0
2026-07-30 09:35:51 +00:00

205 lines
6.0 KiB
Plaintext

//===----------------------------------------------------------------------===//
//
// Part of libcu++, the C++ Standard Library for your entire system,
// under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES.
//
//===----------------------------------------------------------------------===//
#ifndef _CUDA_STD_CSTDINT
#define _CUDA_STD_CSTDINT
#include <cuda/std/detail/__config>
#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC)
# pragma GCC system_header
#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG)
# pragma clang system_header
#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC)
# pragma system_header
#endif // no system header
#include <cuda/std/version>
#if _CCCL_HOSTED()
# include <cstdint>
#elif _CCCL_COMPILER(NVRTC) || (_CCCL_HOSTJIT() && _CCCL_OS(WINDOWS))
# include <cuda/std/climits>
using int8_t = signed char;
using int16_t = signed short;
using int32_t = signed int;
using int64_t = signed long long;
using uint8_t = unsigned char;
using uint16_t = unsigned short;
using uint32_t = unsigned int;
using uint64_t = unsigned long long;
# if _CCCL_OS(WINDOWS) // See https://learn.microsoft.com/en-us/cpp/c-runtime-library/standard-types?view=msvc-170
using int_fast8_t = signed char;
using int_fast16_t = int;
using int_fast32_t = int;
using int_fast64_t = long long;
using uint_fast8_t = unsigned char;
using uint_fast16_t = unsigned int;
using uint_fast32_t = unsigned int;
using uint_fast64_t = unsigned long long;
# else // ^^^ _CCCL_OS(WINDOWS) ^^^ / vvv !_CCCL_OS(WINDOWS) vvv
using int_fast8_t = int8_t;
using int_fast16_t = int16_t;
using int_fast32_t = int32_t;
using int_fast64_t = int64_t;
using uint_fast8_t = uint8_t;
using uint_fast16_t = uint16_t;
using uint_fast32_t = uint32_t;
using uint_fast64_t = uint64_t;
# endif // !_CCCL_OS(WINDOWS)
using int_least8_t = int8_t;
using int_least16_t = int16_t;
using int_least32_t = int32_t;
using int_least64_t = int64_t;
using uint_least8_t = uint8_t;
using uint_least16_t = uint16_t;
using uint_least32_t = uint32_t;
using uint_least64_t = uint64_t;
using intptr_t = int64_t;
using uintptr_t = uint64_t;
using intmax_t = int64_t;
using uintmax_t = uint64_t;
# define INT8_MIN SCHAR_MIN
# define INT16_MIN SHRT_MIN
# define INT32_MIN INT_MIN
# define INT64_MIN LLONG_MIN
# define INT8_MAX SCHAR_MAX
# define INT16_MAX SHRT_MAX
# define INT32_MAX INT_MAX
# define INT64_MAX LLONG_MAX
# define UINT8_MAX UCHAR_MAX
# define UINT16_MAX USHRT_MAX
# define UINT32_MAX UINT_MAX
# define UINT64_MAX ULLONG_MAX
# if _CCCL_OS(WINDOWS) // See https://learn.microsoft.com/en-us/cpp/c-runtime-library/standard-types?view=msvc-170
# define INT_FAST8_MIN INT8_MIN
# define INT_FAST16_MIN INT32_MIN
# define INT_FAST32_MIN INT32_MIN
# define INT_FAST64_MIN INT64_MIN
# define INT_FAST8_MAX INT8_MAX
# define INT_FAST16_MAX INT32_MAX
# define INT_FAST32_MAX INT32_MAX
# define INT_FAST64_MAX INT64_MAX
# define UINT_FAST8_MAX UINT8_MAX
# define UINT_FAST16_MAX UINT32_MAX
# define UINT_FAST32_MAX UINT32_MAX
# define UINT_FAST64_MAX UINT64_MAX
# else // ^^^ _CCCL_OS(WINDOWS) ^^^ / vvv !_CCCL_OS(WINDOWS) vvv
# define INT_FAST8_MIN INT8_MIN
# define INT_FAST16_MIN INT16_MIN
# define INT_FAST32_MIN INT32_MIN
# define INT_FAST64_MIN INT64_MIN
# define INT_FAST8_MAX INT8_MAX
# define INT_FAST16_MAX INT16_MAX
# define INT_FAST32_MAX INT32_MAX
# define INT_FAST64_MAX INT64_MAX
# define UINT_FAST8_MAX UINT8_MAX
# define UINT_FAST16_MAX UINT16_MAX
# define UINT_FAST32_MAX UINT32_MAX
# define UINT_FAST64_MAX UINT64_MAX
# endif // !_CCCL_OS(WINDOWS)
# define INT_LEAST8_MIN INT8_MIN
# define INT_LEAST16_MIN INT16_MIN
# define INT_LEAST32_MIN INT32_MIN
# define INT_LEAST64_MIN INT64_MIN
# define INT_LEAST8_MAX INT8_MAX
# define INT_LEAST16_MAX INT16_MAX
# define INT_LEAST32_MAX INT32_MAX
# define INT_LEAST64_MAX INT64_MAX
# define UINT_LEAST8_MAX UINT8_MAX
# define UINT_LEAST16_MAX UINT16_MAX
# define UINT_LEAST32_MAX UINT32_MAX
# define UINT_LEAST64_MAX UINT64_MAX
# define INTPTR_MIN INT64_MIN
# define INTPTR_MAX INT64_MAX
# define UINTPTR_MAX UINT64_MAX
# define INTMAX_MIN INT64_MIN
# define INTMAX_MAX INT64_MAX
# define UINTMAX_MAX UINT64_MAX
# define PTRDIFF_MIN INT64_MIN
# define PTRDIFF_MAX INT64_MAX
# define SIZE_MAX UINT64_MAX
# define INT8_C(X) ((::int_least8_t) (X))
# define INT16_C(X) ((::int_least16_t) (X))
# define INT32_C(X) ((::int_least32_t) (X))
# define INT64_C(X) ((::int_least64_t) (X))
# define UINT8_C(X) ((::uint_least8_t) (X))
# define UINT16_C(X) ((::uint_least16_t) (X))
# define UINT32_C(X) ((::uint_least32_t) (X))
# define UINT64_C(X) ((::uint_least64_t) (X))
# define INTMAX_C(X) ((::intmax_t) (X))
# define UINTMAX_C(X) ((::uintmax_t) (X))
#endif // _CCCL_COMPILER(NVRTC) || (_CCCL_HOSTJIT() && _CCCL_OS(WINDOWS))
#include <cuda/std/__cccl/prologue.h>
_CCCL_BEGIN_NAMESPACE_CUDA_STD
using ::int16_t;
using ::int32_t;
using ::int64_t;
using ::int8_t;
using ::uint16_t;
using ::uint32_t;
using ::uint64_t;
using ::uint8_t;
using ::int_fast16_t;
using ::int_fast32_t;
using ::int_fast64_t;
using ::int_fast8_t;
using ::uint_fast16_t;
using ::uint_fast32_t;
using ::uint_fast64_t;
using ::uint_fast8_t;
using ::int_least16_t;
using ::int_least32_t;
using ::int_least64_t;
using ::int_least8_t;
using ::uint_least16_t;
using ::uint_least32_t;
using ::uint_least64_t;
using ::uint_least8_t;
using ::intptr_t;
using ::uintptr_t;
using ::intmax_t;
using ::uintmax_t;
#if _CCCL_HAS_INT128()
using __cccl_intmax_t = __int128_t;
using __cccl_uintmax_t = __uint128_t;
#else // ^^^ _CCCL_HAS_INT128() ^^^ / vvv !_CCCL_HAS_INT128() vvv
using __cccl_intmax_t = long long;
using __cccl_uintmax_t = unsigned long long;
#endif // !_CCCL_HAS_INT128()
_CCCL_END_NAMESPACE_CUDA_STD
#include <cuda/std/__cccl/epilogue.h>
#endif // _CUDA_STD_CSTDINT