/usr/local/lib64/python3.6/site-packages/torch/lib
NameSizeModeActions
libc10.so6659760755editdlrm
libc10_cuda.so4660320755editdlrm
libcaffe2_detectron_ops_gpu.so478687440755editdlrm
libcaffe2_module_test_dynamic.so382480755editdlrm
libcaffe2_nvrtc.so213840755editdlrm
libcaffe2_observers.so5513680755editdlrm
libcudart-80664282.so.10.25238160755editdlrm
libgomp-a34b3233.so.11687200755editdlrm
libnvrtc-08c4863f.so.10.2220454560755editdlrm
libnvrtc-builtins.so48629440755editdlrm
libnvToolsExt-3965bdd0.so.1435200755editdlrm
libshm.so364640755editdlrm
libtorch.so7899920755editdlrm
libtorch_cpu.so4393671440755editdlrm
libtorch_cuda.so12196516560755editdlrm
libtorch_global_deps.so126160755editdlrm
libtorch_python.so255116880755editdlrm
Edit: /usr/local/lib64/python3.6/site-packages/torch/lib/libnvrtc-builtins.so (4862944B)
ELF>@J@8@JJ QtdPtdJJJddJjj`p 0J j j0J j jXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXb(bi ӯkui jjjjjjjH7 H5j%j@%jhHH5jHtHÐU=`jHATSubH=jt H=jHjL%jL)HHXHjH9v DHHjAHjH9wj[A\fUH=jHtHjHtH=jIAÐHiH@ÐH9@H8ÐHiAHÐHBHÐHCHÐHDHÐHEHD'ÐHFHD'ÐHIGHdÐHIHdÐtA#tF%tF2tF4t(<@t==t>Ft>Ku1Hj%D+6A[fqUHSH4jHH)jHtHHHuH[ÐHH/* * Copyright 1993-2016 NVIDIA Corporation. All rights reserved. * * NOTICE TO LICENSEE: * * This source code and/or documentation ("Licensed Deliverables") are * subject to NVIDIA intellectual property rights under U.S. and * international Copyright laws. * * These Licensed Deliverables contained herein is PROPRIETARY and * CONFIDENTIAL to NVIDIA and is being provided under the terms and * conditions of a form of NVIDIA software license agreement by and * between NVIDIA and Licensee ("License Agreement") or electronically * accepted by Licensee. Notwithstanding any terms or conditions to * the contrary in the License Agreement, reproduction or disclosure * of the Licensed Deliverables to any third party without the express * written consent of NVIDIA is prohibited. * * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND. * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THESE LICENSED DELIVERABLES. * * U.S. Government End Users. These Licensed Deliverables are a * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT * 1995), consisting of "commercial computer software" and "commercial * computer software documentation" as such terms are used in 48 * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government * only as a commercial end item. Consistent with 48 C.F.R.12.212 and * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all * U.S. Government End Users acquire the Licensed Deliverables with * only those rights set forth herein. * * Any use of the Licensed Deliverables in individual and commercial * software must include, in the user documentation and internal * comments to the code, the above Disclaimer and U.S. Government End * Users Notice. */ #define __CUDACC__ 1 #define __CUDANVVM__ 1 #if !defined(__cplusplus) #error "unexpected!" #endif #if defined(__LP64__) typedef unsigned long size_t; typedef long int ptrdiff_t; #else typedef unsigned long long size_t; typedef long long int ptrdiff_t; #endif typedef long clock_t; #ifndef NULL #define NULL 0 #endif #if defined(__cplusplus) extern "C" { #endif __attribute__((device)) int __nvvm_reflect(const char*); #if defined(__cplusplus) } #endif #if !defined(__CUDA_RUNTIME_H__) #define __CUDA_RUNTIME_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_H__ #endif #if !defined(__CUDACC_RTC__) #if defined(__GNUC__) #if defined(__clang__) || (!defined(__PGIC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))) #pragma GCC diagnostic push #endif #if defined(__clang__) || (!defined(__PGIC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))) #pragma GCC diagnostic ignored "-Wunused-function" #endif #elif defined(_MSC_VER) #pragma warning(push) #pragma warning(disable: 4820) #endif #endif #ifdef __QNX__ #if (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) typedef unsigned size_t; #endif #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_config.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_config.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_CONFIG_H__ #endif #if !defined(__HOST_CONFIG_H__) #define __HOST_CONFIG_H__ #if defined(__CUDACC__) #if defined(__CUDACC_RTC__) #define _CRTIMP #define __THROW #else #if !defined(__GNUC__) && !defined(_WIN32) #error --- !!! UNSUPPORTED COMPILER !!! --- #endif #if defined(__PGIC__) #if !defined(__GNUC__) || !defined(__LP64__) || !defined(__linux__) #error -- unsupported pgc++ configuration! pgc++ is supported only on Linux x86_64! #endif #endif #if defined(__powerpc__) #if !defined(__powerpc64__) || !defined(__LITTLE_ENDIAN__) #error -- unsupported PPC platform! Only 64-bit little endian PPC is supported! #endif #endif #if defined(__APPLE__) && defined(__MACH__) && !defined(__clang__) #error -- clang and clang++ are the only supported host compilers on Mac OS X! #endif #if !__NV_NO_HOST_COMPILER_CHECK #if defined(__ICC) #if (__ICC != 1500 && __ICC != 1600 && __ICC != 1700 && __ICC != 1800 && __ICC != 1900) || !defined(__GNUC__) || !defined(__LP64__) #error -- unsupported ICC configuration! Only ICC 15.0, ICC 16.0, ICC 17.0, ICC 18.0 and ICC 19.0 on Linux x86_64 are supported! #endif #endif #if defined(__PGIC__) #if ( (__PGIC__ != 18) && (__PGIC__ != 19) && !(__PGIC__ == 99 && __PGIC_MINOR__ == 99)) #error -- unsupported pgc++ configuration! Only pgc++ 18 and 19 are supported! #endif #endif #if defined(__powerpc__) #if defined(__ibmxl_vrm__) && !(__ibmxl_vrm__ >= 0x0d010000 && __ibmxl_vrm__ < 0x0d020000) && \ !(__ibmxl_vrm__ >= 0x10010000 && __ibmxl_vrm__ < 0x10020000) #error -- unsupported xlC version! only xlC 13.1 and 16.1 are supported #endif #endif #if defined(__GNUC__) #if __GNUC__ > 8 #error -- unsupported GNU version! gcc versions later than 8 are not supported! #endif #if defined(__clang__) && !defined(__ibmxl_vrm__) && !defined(__ICC) && !defined(__HORIZON__) && !defined(__APPLE__) #if (__clang_major__ >= 9) || (__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 3)) #error -- unsupported clang version! clang version must be less than 9 and greater than 3.2 #endif #endif #endif #if defined(_WIN32) #if _MSC_VER < 1700 || _MSC_VER >= 1930 #error -- unsupported Microsoft Visual Studio version! Only the versions between 2015 and 2019 (inclusive) are supported! #elif _MSC_VER >= 1700 && _MSC_VER < 1900 #pragma message("support for this version of Microsoft Visual Studio has been deprecated! Only the versions between 2015 and 2019 (inclusive) are supported!") #endif #endif #endif #if defined(__APPLE__) #define _CRTIMP #define _ACRTIMP #define __THROW #if defined(__BLOCKS__) #undef __BLOCKS__ #endif #elif defined(__ANDROID__) #define _CRTIMP #define _ACRTIMP #define __THROW #elif defined(__QNX__) #define _CRTIMP #define _ACRTIMP #define __THROW #elif defined(__HORIZON__) #define _CRTIMP #define _ACRTIMP #define __THROW #elif defined(__GNUC__) #define _CRTIMP #define _ACRTIMP #include #elif defined(_WIN32) #if _MSC_VER >= 1500 #undef _USE_DECLSPECS_FOR_SAL #define _USE_DECLSPECS_FOR_SAL \ 1 #endif #if !defined(_CRT_NONSTDC_NO_WARNINGS) #define _CRT_NONSTDC_NO_WARNINGS #endif #if !defined(_CRT_SECURE_NO_WARNINGS) #define _CRT_SECURE_NO_WARNINGS #endif #if !defined(NOMINMAX) #define NOMINMAX #endif #include #if _MSC_VER >= 1900 #include #endif #define __THROW #endif #endif #if defined(__cplusplus) && defined(__CUDA_ARCH__) && (defined(__PGIC__) || defined(__CUDACC_RTC__) || (defined(_WIN32) && defined(_MSC_VER))) #if __CUDACC_RTC__ typedef char *va_list; #else #include #endif #undef va_start #undef va_end #undef va_arg #ifdef __PGIC__ #undef __builtin_va_end #define va_start(v,l) __builtin_alt_va_start(v,l) #define va_end(v) __builtin_va_end(v) #define va_arg(v,l) __builtin_alt_va_arg(v,l) #if (__cplusplus >= 201103L) #undef va_copy #define va_copy(d,s) __builtin_va_copy(d,s) #endif #else #define va_start(ap, x) (__cu_va_start(&ap, x)) #define va_end(ap) (__cu_va_end(&ap)) #define va_arg(ap, t) (*((t *)__cu_va_arg(&ap, (t *)0))) #if (_MSC_VER >= 1800) || (defined(__CUDACC_RTC__) && (__cplusplus >= 201103L)) #undef va_copy #define va_copy(apd, aps) (__cu_va_copy(&(apd), &(aps))) #endif #endif #endif #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_CONFIG_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_CONFIG_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__LIBRARY_TYPES_H__) #define __LIBRARY_TYPES_H__ typedef enum cudaDataType_t { CUDA_R_16F= 2, CUDA_C_16F= 6, CUDA_R_32F= 0, CUDA_C_32F= 4, CUDA_R_64F= 1, CUDA_C_64F= 5, CUDA_R_8I = 3, CUDA_C_8I = 7, CUDA_R_8U = 8, CUDA_C_8U = 9, CUDA_R_32I= 10, CUDA_C_32I= 11, CUDA_R_32U= 12, CUDA_C_32U= 13 } cudaDataType; typedef enum libraryPropertyType_t { MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL } libraryPropertyType; #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_FUNCTIONS_H__) #define __VECTOR_FUNCTIONS_H__ #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #if defined(__CUDACC_RTC__) #define __VECTOR_FUNCTIONS_DECL__ __host__ __device__ #else #define __VECTOR_FUNCTIONS_DECL__ static __inline__ __host__ __device__ #endif __VECTOR_FUNCTIONS_DECL__ char1 make_char1(signed char x); __VECTOR_FUNCTIONS_DECL__ uchar1 make_uchar1(unsigned char x); __VECTOR_FUNCTIONS_DECL__ char2 make_char2(signed char x, signed char y); __VECTOR_FUNCTIONS_DECL__ uchar2 make_uchar2(unsigned char x, unsigned char y); __VECTOR_FUNCTIONS_DECL__ char3 make_char3(signed char x, signed char y, signed char z); __VECTOR_FUNCTIONS_DECL__ uchar3 make_uchar3(unsigned char x, unsigned char y, unsigned char z); __VECTOR_FUNCTIONS_DECL__ char4 make_char4(signed char x, signed char y, signed char z, signed char w); __VECTOR_FUNCTIONS_DECL__ uchar4 make_uchar4(unsigned char x, unsigned char y, unsigned char z, unsigned char w); __VECTOR_FUNCTIONS_DECL__ short1 make_short1(short x); __VECTOR_FUNCTIONS_DECL__ ushort1 make_ushort1(unsigned short x); __VECTOR_FUNCTIONS_DECL__ short2 make_short2(short x, short y); __VECTOR_FUNCTIONS_DECL__ ushort2 make_ushort2(unsigned short x, unsigned short y); __VECTOR_FUNCTIONS_DECL__ short3 make_short3(short x,short y, short z); __VECTOR_FUNCTIONS_DECL__ ushort3 make_ushort3(unsigned short x, unsigned short y, unsigned short z); __VECTOR_FUNCTIONS_DECL__ short4 make_short4(short x, short y, short z, short w); __VECTOR_FUNCTIONS_DECL__ ushort4 make_ushort4(unsigned short x, unsigned short y, unsigned short z, unsigned short w); __VECTOR_FUNCTIONS_DECL__ int1 make_int1(int x); __VECTOR_FUNCTIONS_DECL__ uint1 make_uint1(unsigned int x); __VECTOR_FUNCTIONS_DECL__ int2 make_int2(int x, int y); __VECTOR_FUNCTIONS_DECL__ uint2 make_uint2(unsigned int x, unsigned int y); __VECTOR_FUNCTIONS_DECL__ int3 make_int3(int x, int y, int z); __VECTOR_FUNCTIONS_DECL__ uint3 make_uint3(unsigned int x, unsigned int y, unsigned int z); __VECTOR_FUNCTIONS_DECL__ int4 make_int4(int x, int y, int z, int w); __VECTOR_FUNCTIONS_DECL__ uint4 make_uint4(unsigned int x, unsigned int y, unsigned int z, unsigned int w); __VECTOR_FUNCTIONS_DECL__ long1 make_long1(long int x); __VECTOR_FUNCTIONS_DECL__ ulong1 make_ulong1(unsigned long int x); __VECTOR_FUNCTIONS_DECL__ long2 make_long2(long int x, long int y); __VECTOR_FUNCTIONS_DECL__ ulong2 make_ulong2(unsigned long int x, unsigned long int y); __VECTOR_FUNCTIONS_DECL__ long3 make_long3(long int x, long int y, long int z); __VECTOR_FUNCTIONS_DECL__ ulong3 make_ulong3(unsigned long int x, unsigned long int y, unsigned long int z); __VECTOR_FUNCTIONS_DECL__ long4 make_long4(long int x, long int y, long int z, long int w); __VECTOR_FUNCTIONS_DECL__ ulong4 make_ulong4(unsigned long int x, unsigned long int y, unsigned long int z, unsigned long int w); __VECTOR_FUNCTIONS_DECL__ float1 make_float1(float x); __VECTOR_FUNCTIONS_DECL__ float2 make_float2(float x, float y); __VECTOR_FUNCTIONS_DECL__ float3 make_float3(float x, float y, float z); __VECTOR_FUNCTIONS_DECL__ float4 make_float4(float x, float y, float z, float w); __VECTOR_FUNCTIONS_DECL__ longlong1 make_longlong1(long long int x); __VECTOR_FUNCTIONS_DECL__ ulonglong1 make_ulonglong1(unsigned long long int x); __VECTOR_FUNCTIONS_DECL__ longlong2 make_longlong2(long long int x, long long int y); __VECTOR_FUNCTIONS_DECL__ ulonglong2 make_ulonglong2(unsigned long long int x, unsigned long long int y); __VECTOR_FUNCTIONS_DECL__ longlong3 make_longlong3(long long int x, long long int y, long long int z); __VECTOR_FUNCTIONS_DECL__ ulonglong3 make_ulonglong3(unsigned long long int x, unsigned long long int y, unsigned long long int z); __VECTOR_FUNCTIONS_DECL__ longlong4 make_longlong4(long long int x, long long int y, long long int z, long long int w); __VECTOR_FUNCTIONS_DECL__ ulonglong4 make_ulonglong4(unsigned long long int x, unsigned long long int y, unsigned long long int z, unsigned long long int w); __VECTOR_FUNCTIONS_DECL__ double1 make_double1(double x); __VECTOR_FUNCTIONS_DECL__ double2 make_double2(double x, double y); __VECTOR_FUNCTIONS_DECL__ double3 make_double3(double x, double y, double z); __VECTOR_FUNCTIONS_DECL__ double4 make_double4(double x, double y, double z, double w); #undef __VECTOR_FUNCTIONS_DECL__ #if !defined(__CUDACC_RTC__) #include "vector_functions.hpp" #endif #endif #if defined(__CUDACC__) #if defined(__CUDACC_RTC__) #ifndef __NVRTC_DEVICE_RUNTIME_H__ #define __NVRTC_DEVICE_RUNTIME_H__ #if __cplusplus >= 201103L namespace __nvrtc_util { template struct remove_ref { typedef T type; }; template struct remove_ref { typedef T type; }; template struct remove_ref { typedef T type; }; template struct is_lvalue_ref { static const bool val = false; }; template struct is_lvalue_ref { static const bool val = true; }; } #if __NV_BUILTIN_MOVE_FORWARD namespace std { template constexpr T&& __device__ forward(typename __nvrtc_util::remove_ref::type &__in) noexcept { return static_cast(__in); } template constexpr T&& __device__ forward(typename __nvrtc_util::remove_ref::type && __in) noexcept { static_assert(!__nvrtc_util::is_lvalue_ref::val, "incorrect forward call!"); return static_cast(__in); } template constexpr typename __nvrtc_util::remove_ref::type && __device__ move(T&& __in) noexcept { return static_cast::type &&>(__in); } } #endif #if __NV_BUILTIN_INITIALIZER_LIST namespace std { template class initializer_list { public: typedef T value_type; typedef const T& reference; typedef const T& const_reference; typedef size_t size_type; typedef const T* iterator; typedef const T* const_iterator; private: const T* buf_ptr; size_t length; constexpr initializer_list(const_iterator in, size_type in_length) : buf_ptr(in), length(in_length) { } public: constexpr initializer_list() noexcept : buf_ptr(0), length(0) { } constexpr size_type size() const noexcept { return length; } constexpr const_iterator begin() const noexcept { return buf_ptr; } constexpr const_iterator end() const noexcept { return buf_ptr + length; } }; } #endif #endif extern "C" inline __host__ __device__ void __cxa_vec_ctor(void *n, size_t num, size_t size, void (*c) (void *), void (*d) (void *)) { if (!c) return; for (size_t i = 0; i < num; i++) c((void*)((unsigned char *)n + i*size)); } extern "C" inline __host__ __device__ void __cxa_vec_cctor(void *dest, void *src, size_t num, size_t size, void (*c) (void *, void *), void (*d) (void *)) { if (!c) return; for (size_t i = 0; i < num; i++) { c((void*)((unsigned char *)dest + i*size), (void*)((unsigned char *)src + i*size)); } } extern "C" inline __host__ __device__ void __cxa_vec_dtor(void *n, size_t num, size_t size, void (*d) (void *)) { if (!d) return; for (size_t i = num-1; i > 0; i--) d((void*)((unsigned char *)n + i*size)); d((void*)((unsigned char *)n + 0*size)); } extern "C" inline __host__ __device__ void * __cxa_vec_new2(size_t num, size_t size, size_t pad, void (*c) (void *), void (*d) (void *), void *(*m) (size_t), void (*f) (void *)) { unsigned char *t = (unsigned char *)m(num*size + pad); *(size_t*)t = num; (void)__cxa_vec_ctor((void *)(t+pad), num, size, c, d); return (void *)(t+pad); } #if defined(_MSC_VER) extern "C" __host__ __device__ __cudart_builtin__ void* malloc(size_t); extern "C" __host__ __device__ __cudart_builtin__ void free(void*); #else extern "C" __host__ __device__ __cudart_builtin__ __attribute__((used)) void* malloc(size_t); extern "C" __host__ __device__ __cudart_builtin__ __attribute__((used)) void free(void*); #endif extern "C" inline __host__ __device__ void * __cxa_vec_new(size_t num, size_t size, size_t pad, void (*c) (void *), void (*d) (void *)) { return __cxa_vec_new2(num, size, pad, c, d, malloc, free); } extern "C" inline __host__ __device__ void * __cxa_vec_new3(size_t num, size_t size, size_t pad, void (*c) (void *), void (*d) (void *), void *(*m) (size_t), void (*f)(void *, size_t)) { return __cxa_vec_new2(num, size, pad, c, d, m, 0); } extern "C" inline __host__ __device__ void __cxa_vec_delete2(void *n, size_t size, size_t pad, void (*d) (void *), void (*f) (void *)) { unsigned char *ptr = (unsigned char *)(n); if (ptr) { unsigned char *t = ptr - pad; size_t num = *(size_t*)t; __cxa_vec_dtor(ptr, num, size, d); f((void *)t); } } extern "C" inline __host__ __device__ void __cxa_vec_delete(void *n, size_t size, size_t pad, void (*d) (void *)) { __cxa_vec_delete2(n, size, pad, d, free); } extern "C" inline __host__ __device__ void __cxa_vec_delete3(void *n, size_t size, size_t pad, void (*d)(void *), void (*f)(void *,size_t)) { unsigned char *ptr = (unsigned char *)(n); if (ptr) { unsigned char *t = ptr - pad; size_t num = *(size_t*)t; size_t tsize = num*size+pad; __cxa_vec_dtor(ptr, num, size, d); f((void *)t, tsize); } } extern "C" inline __host__ __device__ void *__gen_nvvm_memcpy_aligned1(void *dest, void *src, size_t size) { __nvvm_memcpy((unsigned char *)dest, (unsigned char *)src, size, 1); return dest; } extern "C" inline __host__ __device__ void *__gen_nvvm_memcpy_aligned2(void *dest, void *src, size_t size) { if (((unsigned long long)(dest) % 2) == 0 && ((unsigned long long)(src) % 2) == 0) { __nvvm_memcpy((unsigned char *)dest, (unsigned char *)src, size, 2); } else { __nvvm_memcpy((unsigned char *)dest, (unsigned char *)src, size, 1); } return dest; } extern "C" inline __host__ __device__ void *__gen_nvvm_memcpy_aligned4(void *dest, void *src, size_t size) { if (((unsigned long long)(dest) % 4) == 0 && ((unsigned long long)(src) % 4) == 0) { __nvvm_memcpy((unsigned char *)dest, (unsigned char *)src, size, 4); } else { __nvvm_memcpy((unsigned char *)dest, (unsigned char *)src, size, 1); } return dest; } extern "C" inline __host__ __device__ void * __gen_nvvm_memcpy_aligned8(void *dest, void *src, size_t size) { if (((unsigned long long)(dest) % 8) == 0 && ((unsigned long long)(src) % 8) == 0) { __nvvm_memcpy((unsigned char *)dest, (unsigned char *)src, size, 8); } else { __nvvm_memcpy((unsigned char *)dest, (unsigned char *)src, size, 1); } return dest; } extern "C" inline __host__ __device__ void * __gen_nvvm_memcpy_aligned16(void *dest, void *src, size_t size) { if (((unsigned long long)(dest) % 16) == 0 && ((unsigned long long)(src) % 16) == 0) { __nvvm_memcpy((unsigned char *)dest, (unsigned char *)src, size, 16); } else { __nvvm_memcpy((unsigned char *)dest, (unsigned char *)src, size, 1); } return dest; } extern "C" inline __host__ __device__ void __cxa_pure_virtual(void) { volatile int *ptr = 0; *ptr = 1; } extern "C" inline __host__ __device__ void* __gen_nvvm_memset(void *dest, int c, size_t n) { __nvvm_memset((unsigned char *)dest, (unsigned char)c, n, 1); return dest; } extern "C" inline __host__ __device__ void* __gen_nvvm_memcpy(void *dest, const void *src, size_t n) { __nvvm_memcpy((unsigned char *)dest, (unsigned char *)src, n, 1); return dest; } #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/device_functions.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/device_functions.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_FUNCTIONS_H__ #endif #if !defined(__DEVICE_FUNCTIONS_H__) #define __DEVICE_FUNCTIONS_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if defined(__CUDACC_RTC__) #define __DEVICE_FUNCTIONS_DECL__ __device__ __cudart_builtin__ #define __DEVICE_FUNCTIONS_STATIC_DECL__ __device__ __cudart_builtin__ #else #define __DEVICE_FUNCTIONS_DECL__ __device__ __cudart_builtin__ #define __DEVICE_FUNCTIONS_STATIC_DECL__ static __inline__ __device__ __cudart_builtin__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __mulhi(int x, int y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __umulhi(unsigned int x, unsigned int y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int __mul64hi(long long int x, long long int y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned long long int __umul64hi(unsigned long long int x, unsigned long long int y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __int_as_float(int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __float_as_int(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __uint_as_float(unsigned int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __float_as_uint(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ void __syncthreads(void); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ void __prof_trigger(int); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ void __threadfence(void); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ void __threadfence_block(void); __DEVICE_FUNCTIONS_DECL__ #if defined(__GNUC__) || defined(__CUDACC_RTC__) __attribute__((__noreturn__)) #elif defined(_MSC_VER) __declspec(noreturn) #endif __device_builtin__ void __trap(void); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ void __brkpt(); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __saturatef(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __sad(int x, int y, unsigned int z); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __usad(unsigned int x, unsigned int y, unsigned int z); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __mul24(int x, int y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __umul24(unsigned int x, unsigned int y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float fdividef(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fdividef(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double fdivide(double x, double y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ float __sinf(float x) __THROW; __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ float __cosf(float x) __THROW; __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ float __tanf(float x) __THROW; __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ void __sincosf(float x, float *sptr, float *cptr) __THROW; __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ float __expf(float x) __THROW; __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ float __exp10f(float x) __THROW; __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ float __log2f(float x) __THROW; __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ float __log10f(float x) __THROW; __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ float __logf(float x) __THROW; __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ float __powf(float x, float y) __THROW; __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __float2int_rn(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __float2int_rz(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __float2int_ru(float); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __float2int_rd(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __float2uint_rn(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __float2uint_rz(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __float2uint_ru(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __float2uint_rd(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __int2float_rn(int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __int2float_rz(int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __int2float_ru(int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __int2float_rd(int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __uint2float_rn(unsigned int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __uint2float_rz(unsigned int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __uint2float_ru(unsigned int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __uint2float_rd(unsigned int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int __float2ll_rn(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int __float2ll_rz(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int __float2ll_ru(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int __float2ll_rd(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned long long int __float2ull_rn(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned long long int __float2ull_rz(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned long long int __float2ull_ru(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned long long int __float2ull_rd(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __ll2float_rn(long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __ll2float_rz(long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __ll2float_ru(long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __ll2float_rd(long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __ull2float_rn(unsigned long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __ull2float_rz(unsigned long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __ull2float_ru(unsigned long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __ull2float_rd(unsigned long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fadd_rn(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fadd_rz(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fadd_ru(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fadd_rd(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fsub_rn(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fsub_rz(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fsub_ru(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fsub_rd(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fmul_rn(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fmul_rz(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fmul_ru(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fmul_rd(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fmaf_rn(float x, float y, float z); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fmaf_rz(float x, float y, float z); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fmaf_ru(float x, float y, float z); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fmaf_rd(float x, float y, float z); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __frcp_rn(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __frcp_rz(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __frcp_ru(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __frcp_rd(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fsqrt_rn(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fsqrt_rz(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fsqrt_ru(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fsqrt_rd(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __frsqrt_rn(float x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fdiv_rn(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fdiv_rz(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fdiv_ru(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __fdiv_rd(float x, float y); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __clz(int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __ffs(int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __popc(unsigned int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __brev(unsigned int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __clzll(long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __ffsll(long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __popcll(unsigned long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned long long int __brevll(unsigned long long int x); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __byte_perm(unsigned int x, unsigned int y, unsigned int s); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __hadd(int, int); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __rhadd(int, int); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __uhadd(unsigned int, unsigned int); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __urhadd(unsigned int, unsigned int); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __double2int_rz(double); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __double2uint_rz(double); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int __double2ll_rz(double); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned long long int __double2ull_rz(double); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __pm0(void); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __pm1(void); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __pm2(void); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __pm3(void); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vabs2(unsigned int a); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vabsss2(unsigned int a); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vadd2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vaddss2 (unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vaddus2 (unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vavgs2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vavgu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vhaddu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpeq2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpges2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpgeu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpgts2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpgtu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmples2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpleu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmplts2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpltu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpne2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vabsdiffu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vmaxs2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vmaxu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vmins2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vminu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vseteq2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetges2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetgeu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetgts2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetgtu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetles2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetleu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetlts2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetltu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetne2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsadu2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsub2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsubss2 (unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsubus2 (unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vneg2(unsigned int a); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vnegss2(unsigned int a); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vabsdiffs2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsads2(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vabs4(unsigned int a); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vabsss4(unsigned int a); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vadd4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vaddss4 (unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vaddus4 (unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vavgs4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vavgu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vhaddu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpeq4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpges4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpgeu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpgts4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpgtu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmples4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpleu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmplts4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpltu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vcmpne4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vabsdiffu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vmaxs4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vmaxu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vmins4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vminu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vseteq4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetles4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetleu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetlts4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetltu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetges4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetgeu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetgts4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetgtu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsetne4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsadu4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsub4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsubss4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsubus4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vneg4(unsigned int a); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vnegss4(unsigned int a); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vabsdiffs4(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int __vsads4(unsigned int a, unsigned int b); } __DEVICE_FUNCTIONS_STATIC_DECL__ int mulhi(int a, int b); __DEVICE_FUNCTIONS_STATIC_DECL__ unsigned int mulhi(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_STATIC_DECL__ unsigned int mulhi(int a, unsigned int b); __DEVICE_FUNCTIONS_STATIC_DECL__ unsigned int mulhi(unsigned int a, int b); __DEVICE_FUNCTIONS_STATIC_DECL__ long long int mul64hi(long long int a, long long int b); __DEVICE_FUNCTIONS_STATIC_DECL__ unsigned long long int mul64hi(unsigned long long int a, unsigned long long int b); __DEVICE_FUNCTIONS_STATIC_DECL__ unsigned long long int mul64hi(long long int a, unsigned long long int b); __DEVICE_FUNCTIONS_STATIC_DECL__ unsigned long long int mul64hi(unsigned long long int a, long long int b); __DEVICE_FUNCTIONS_STATIC_DECL__ int float_as_int(float a); __DEVICE_FUNCTIONS_STATIC_DECL__ float int_as_float(int a); __DEVICE_FUNCTIONS_STATIC_DECL__ unsigned int float_as_uint(float a); __DEVICE_FUNCTIONS_STATIC_DECL__ float uint_as_float(unsigned int a); __DEVICE_FUNCTIONS_STATIC_DECL__ float saturate(float a); __DEVICE_FUNCTIONS_STATIC_DECL__ int mul24(int a, int b); __DEVICE_FUNCTIONS_STATIC_DECL__ unsigned int umul24(unsigned int a, unsigned int b); __DEVICE_FUNCTIONS_STATIC_DECL__ int float2int(float a, enum cudaRoundMode mode = cudaRoundZero); __DEVICE_FUNCTIONS_STATIC_DECL__ unsigned int float2uint(float a, enum cudaRoundMode mode = cudaRoundZero); __DEVICE_FUNCTIONS_STATIC_DECL__ float int2float(int a, enum cudaRoundMode mode = cudaRoundNearest); __DEVICE_FUNCTIONS_STATIC_DECL__ float uint2float(unsigned int a, enum cudaRoundMode mode = cudaRoundNearest); #undef __DEVICE_FUNCTIONS_DECL__ #undef __DEVICE_FUNCTIONS_STATIC_DECL__ #endif #if !defined(__CUDACC_RTC__) #include "device_functions.hpp" #endif #if !defined(__DEVICE_ATOMIC_FUNCTIONS_H__) #define __DEVICE_ATOMIC_FUNCTIONS_H__ #if defined(__CUDACC_RTC__) #define __DEVICE_ATOMIC_FUNCTIONS_DECL__ __device__ #else #define __DEVICE_ATOMIC_FUNCTIONS_DECL__ static __inline__ __device__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif #ifdef __CUDA_ARCH__ extern "C" { extern __device__ __device_builtin__ int __iAtomicAdd(int *address, int val); extern __device__ __device_builtin__ unsigned int __uAtomicAdd(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ int __iAtomicExch(int *address, int val); extern __device__ __device_builtin__ unsigned int __uAtomicExch(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ float __fAtomicExch(float *address, float val); extern __device__ __device_builtin__ int __iAtomicMin(int *address, int val); extern __device__ __device_builtin__ unsigned int __uAtomicMin(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ int __iAtomicMax(int *address, int val); extern __device__ __device_builtin__ unsigned int __uAtomicMax(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicInc(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicDec(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ int __iAtomicAnd(int *address, int val); extern __device__ __device_builtin__ unsigned int __uAtomicAnd(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ int __iAtomicOr(int *address, int val); extern __device__ __device_builtin__ unsigned int __uAtomicOr(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ int __iAtomicXor(int *address, int val); extern __device__ __device_builtin__ unsigned int __uAtomicXor(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ int __iAtomicCAS(int *address, int compare, int val); extern __device__ __device_builtin__ unsigned int __uAtomicCAS(unsigned int *address, unsigned int compare, unsigned int val); } #endif __DEVICE_ATOMIC_FUNCTIONS_DECL__ int atomicAdd(int *address, int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicAdd(unsigned int *address, unsigned int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ int atomicSub(int *address, int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicSub(unsigned int *address, unsigned int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ int atomicExch(int *address, int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicExch(unsigned int *address, unsigned int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ float atomicExch(float *address, float val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ int atomicMin(int *address, int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicMin(unsigned int *address, unsigned int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ int atomicMax(int *address, int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicMax(unsigned int *address, unsigned int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicInc(unsigned int *address, unsigned int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicDec(unsigned int *address, unsigned int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ int atomicAnd(int *address, int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicAnd(unsigned int *address, unsigned int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ int atomicOr(int *address, int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicOr(unsigned int *address, unsigned int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ int atomicXor(int *address, int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicXor(unsigned int *address, unsigned int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ int atomicCAS(int *address, int compare, int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicCAS(unsigned int *address, unsigned int compare, unsigned int val) __DEF_IF_HOST #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #if defined(_WIN32) # define __DEPRECATED__(msg) __declspec(deprecated(msg)) #elif (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5 && !defined(__clang__)))) # define __DEPRECATED__(msg) __attribute__((deprecated)) #else # define __DEPRECATED__(msg) __attribute__((deprecated(msg))) #endif #if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 700 #define __WSB_DEPRECATION_MESSAGE(x) #x"() is not valid on compute_70 and above, and should be replaced with "#x"_sync()."\ "To continue using "#x"(), specify virtual architecture compute_60 when targeting sm_70 and above, for example, using the pair of compiler options: -arch=compute_60 -code=sm_70." #else #define __WSB_DEPRECATION_MESSAGE(x) #x"() is deprecated in favor of "#x"_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning)." #endif extern "C" { #ifdef __CUDA_ARCH__ extern __device__ __device_builtin__ unsigned long long int __ullAtomicAdd(unsigned long long int *address, unsigned long long int val); extern __device__ __device_builtin__ unsigned long long int __ullAtomicExch(unsigned long long int *address, unsigned long long int val); extern __device__ __device_builtin__ unsigned long long int __ullAtomicCAS(unsigned long long int *address, unsigned long long int compare, unsigned long long int val); #endif extern __device__ __device_builtin__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__any)) int __any(int cond); extern __device__ __device_builtin__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__all)) int __all(int cond); } __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned long long int atomicAdd(unsigned long long int *address, unsigned long long int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned long long int atomicExch(unsigned long long int *address, unsigned long long int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ unsigned long long int atomicCAS(unsigned long long int *address, unsigned long long int compare, unsigned long long int val) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__any)) bool any(bool cond) __DEF_IF_HOST __DEVICE_ATOMIC_FUNCTIONS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__all)) bool all(bool cond) __DEF_IF_HOST #undef __DEPRECATED__ #undef __WSB_DEPRECATION_MESSAGE #endif #undef __DEF_IF_HOST #undef __DEVICE_ATOMIC_FUNCTIONS_DECL__ #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "device_atomic_functions.hpp" #endif #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/device_double_functions.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/device_double_functions.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_DOUBLE_FUNCTIONS_H__ #endif #if !defined(__DEVICE_DOUBLE_FUNCTIONS_H__) #define __DEVICE_DOUBLE_FUNCTIONS_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if defined(__CUDACC_RTC__) #define __DEVICE_DOUBLE_FUNCTIONS_DECL__ __device__ #else #define __DEVICE_DOUBLE_FUNCTIONS_DECL__ static __inline__ __device__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __device_builtin__ long long int __double_as_longlong(double x); extern __device__ __device_builtin__ double __longlong_as_double(long long int x); extern __device__ __device_builtin__ double __fma_rn(double x, double y, double z); extern __device__ __device_builtin__ double __fma_rz(double x, double y, double z); extern __device__ __device_builtin__ double __fma_ru(double x, double y, double z); extern __device__ __device_builtin__ double __fma_rd(double x, double y, double z); extern __device__ __device_builtin__ double __dadd_rn(double x, double y); extern __device__ __device_builtin__ double __dadd_rz(double x, double y); extern __device__ __device_builtin__ double __dadd_ru(double x, double y); extern __device__ __device_builtin__ double __dadd_rd(double x, double y); extern __device__ __device_builtin__ double __dsub_rn(double x, double y); extern __device__ __device_builtin__ double __dsub_rz(double x, double y); extern __device__ __device_builtin__ double __dsub_ru(double x, double y); extern __device__ __device_builtin__ double __dsub_rd(double x, double y); extern __device__ __device_builtin__ double __dmul_rn(double x, double y); extern __device__ __device_builtin__ double __dmul_rz(double x, double y); extern __device__ __device_builtin__ double __dmul_ru(double x, double y); extern __device__ __device_builtin__ double __dmul_rd(double x, double y); extern __device__ __device_builtin__ float __double2float_rn(double x); extern __device__ __device_builtin__ float __double2float_rz(double x); extern __device__ __device_builtin__ float __double2float_ru(double x); extern __device__ __device_builtin__ float __double2float_rd(double x); extern __device__ __device_builtin__ int __double2int_rn(double x); extern __device__ __device_builtin__ int __double2int_ru(double x); extern __device__ __device_builtin__ int __double2int_rd(double x); extern __device__ __device_builtin__ unsigned int __double2uint_rn(double x); extern __device__ __device_builtin__ unsigned int __double2uint_ru(double x); extern __device__ __device_builtin__ unsigned int __double2uint_rd(double x); extern __device__ __device_builtin__ long long int __double2ll_rn(double x); extern __device__ __device_builtin__ long long int __double2ll_ru(double x); extern __device__ __device_builtin__ long long int __double2ll_rd(double x); extern __device__ __device_builtin__ unsigned long long int __double2ull_rn(double x); extern __device__ __device_builtin__ unsigned long long int __double2ull_ru(double x); extern __device__ __device_builtin__ unsigned long long int __double2ull_rd(double x); extern __device__ __device_builtin__ double __int2double_rn(int x); extern __device__ __device_builtin__ double __uint2double_rn(unsigned int x); extern __device__ __device_builtin__ double __ll2double_rn(long long int x); extern __device__ __device_builtin__ double __ll2double_rz(long long int x); extern __device__ __device_builtin__ double __ll2double_ru(long long int x); extern __device__ __device_builtin__ double __ll2double_rd(long long int x); extern __device__ __device_builtin__ double __ull2double_rn(unsigned long long int x); extern __device__ __device_builtin__ double __ull2double_rz(unsigned long long int x); extern __device__ __device_builtin__ double __ull2double_ru(unsigned long long int x); extern __device__ __device_builtin__ double __ull2double_rd(unsigned long long int x); extern __device__ __device_builtin__ int __double2hiint(double x); extern __device__ __device_builtin__ int __double2loint(double x); extern __device__ __device_builtin__ double __hiloint2double(int hi, int lo); } __DEVICE_DOUBLE_FUNCTIONS_DECL__ double fma(double a, double b, double c, enum cudaRoundMode mode); __DEVICE_DOUBLE_FUNCTIONS_DECL__ double dmul(double a, double b, enum cudaRoundMode mode = cudaRoundNearest); __DEVICE_DOUBLE_FUNCTIONS_DECL__ double dadd(double a, double b, enum cudaRoundMode mode = cudaRoundNearest); __DEVICE_DOUBLE_FUNCTIONS_DECL__ double dsub(double a, double b, enum cudaRoundMode mode = cudaRoundNearest); __DEVICE_DOUBLE_FUNCTIONS_DECL__ int double2int(double a, enum cudaRoundMode mode = cudaRoundZero); __DEVICE_DOUBLE_FUNCTIONS_DECL__ unsigned int double2uint(double a, enum cudaRoundMode mode = cudaRoundZero); __DEVICE_DOUBLE_FUNCTIONS_DECL__ long long int double2ll(double a, enum cudaRoundMode mode = cudaRoundZero); __DEVICE_DOUBLE_FUNCTIONS_DECL__ unsigned long long int double2ull(double a, enum cudaRoundMode mode = cudaRoundZero); __DEVICE_DOUBLE_FUNCTIONS_DECL__ double ll2double(long long int a, enum cudaRoundMode mode = cudaRoundNearest); __DEVICE_DOUBLE_FUNCTIONS_DECL__ double ull2double(unsigned long long int a, enum cudaRoundMode mode = cudaRoundNearest); __DEVICE_DOUBLE_FUNCTIONS_DECL__ double int2double(int a, enum cudaRoundMode mode = cudaRoundNearest); __DEVICE_DOUBLE_FUNCTIONS_DECL__ double uint2double(unsigned int a, enum cudaRoundMode mode = cudaRoundNearest); __DEVICE_DOUBLE_FUNCTIONS_DECL__ double float2double(float a, enum cudaRoundMode mode = cudaRoundNearest); #undef __DEVICE_DOUBLE_FUNCTIONS_DECL__ #endif #if !defined(__CUDACC_RTC__) #include "device_double_functions.hpp" #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_DOUBLE_FUNCTIONS_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_DOUBLE_FUNCTIONS_H__ #endif #if !defined(__SM_20_ATOMIC_FUNCTIONS_H__) #define __SM_20_ATOMIC_FUNCTIONS_H__ #if defined(__CUDACC_RTC__) #define __SM_20_ATOMIC_FUNCTIONS_DECL__ __device__ #else #define __SM_20_ATOMIC_FUNCTIONS_DECL__ static __inline__ __device__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif #ifdef __CUDA_ARCH__ extern "C" { extern __device__ __device_builtin__ float __fAtomicAdd(float *address, float val); } #endif __SM_20_ATOMIC_FUNCTIONS_DECL__ float atomicAdd(float *address, float val) __DEF_IF_HOST #endif #undef __DEF_IF_HOST #undef __SM_20_ATOMIC_FUNCTIONS_DECL__ #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "sm_20_atomic_functions.hpp" #endif #endif #if !defined(__SM_32_ATOMIC_FUNCTIONS_H__) #define __SM_32_ATOMIC_FUNCTIONS_H__ #if defined(__CUDACC_RTC__) #define __SM_32_ATOMIC_FUNCTIONS_DECL__ __device__ #else #define __SM_32_ATOMIC_FUNCTIONS_DECL__ static __inline__ __device__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 320 #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif #ifdef __CUDA_ARCH__ extern "C" { extern __device__ __device_builtin__ long long __illAtomicMin(long long *address, long long val); extern __device__ __device_builtin__ long long __illAtomicMax(long long *address, long long val); extern __device__ __device_builtin__ long long __llAtomicAnd(long long *address, long long val); extern __device__ __device_builtin__ long long __llAtomicOr(long long *address, long long val); extern __device__ __device_builtin__ long long __llAtomicXor(long long *address, long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicMin(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicMax(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicAnd(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicOr (unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicXor(unsigned long long *address, unsigned long long val); } #endif __SM_32_ATOMIC_FUNCTIONS_DECL__ long long atomicMin(long long *address, long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ long long atomicMax(long long *address, long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ long long atomicAnd(long long *address, long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ long long atomicOr(long long *address, long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ long long atomicXor(long long *address, long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicMin(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicMax(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicAnd(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicOr(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicXor(unsigned long long *address, unsigned long long val) __DEF_IF_HOST #endif #endif #undef __DEF_IF_HOST #undef __SM_32_ATOMIC_FUNCTIONS_DECL__ #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "sm_32_atomic_functions.hpp" #endif #endif #if !defined(__SM_35_ATOMIC_FUNCTIONS_H__) #define __SM_35_ATOMIC_FUNCTIONS_H__ #if !defined(__SM_32_ATOMIC_FUNCTIONS_H__) #define __SM_32_ATOMIC_FUNCTIONS_H__ #if defined(__CUDACC_RTC__) #define __SM_32_ATOMIC_FUNCTIONS_DECL__ __device__ #else #define __SM_32_ATOMIC_FUNCTIONS_DECL__ static __inline__ __device__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 320 #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif #ifdef __CUDA_ARCH__ extern "C" { extern __device__ __device_builtin__ long long __illAtomicMin(long long *address, long long val); extern __device__ __device_builtin__ long long __illAtomicMax(long long *address, long long val); extern __device__ __device_builtin__ long long __llAtomicAnd(long long *address, long long val); extern __device__ __device_builtin__ long long __llAtomicOr(long long *address, long long val); extern __device__ __device_builtin__ long long __llAtomicXor(long long *address, long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicMin(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicMax(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicAnd(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicOr (unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicXor(unsigned long long *address, unsigned long long val); } #endif __SM_32_ATOMIC_FUNCTIONS_DECL__ long long atomicMin(long long *address, long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ long long atomicMax(long long *address, long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ long long atomicAnd(long long *address, long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ long long atomicOr(long long *address, long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ long long atomicXor(long long *address, long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicMin(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicMax(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicAnd(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicOr(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_32_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicXor(unsigned long long *address, unsigned long long val) __DEF_IF_HOST #endif #endif #undef __DEF_IF_HOST #undef __SM_32_ATOMIC_FUNCTIONS_DECL__ #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "sm_32_atomic_functions.hpp" #endif #endif #endif #if !defined(__SM_60_ATOMIC_FUNCTIONS_H__) #define __SM_60_ATOMIC_FUNCTIONS_H__ #if defined(__CUDACC_RTC__) #define __SM_60_ATOMIC_FUNCTIONS_DECL__ __device__ #else #define __SM_60_ATOMIC_FUNCTIONS_DECL__ static __inline__ __device__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600 #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif #ifdef __CUDA_ARCH__ extern "C" { extern __device__ __device_builtin__ double __dAtomicAdd(double *address, double val); extern __device__ __device_builtin__ int __iAtomicAdd_block(int *address, int val); extern __device__ __device_builtin__ int __iAtomicAdd_system(int *address, int val); extern __device__ __device_builtin__ unsigned int __uAtomicAdd_block(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicAdd_system(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned long long __ullAtomicAdd_block(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicAdd_system(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ float __fAtomicAdd_block(float *address, float val); extern __device__ __device_builtin__ float __fAtomicAdd_system(float *address, float val); extern __device__ __device_builtin__ double __dAtomicAdd_block(double *address, double val); extern __device__ __device_builtin__ double __dAtomicAdd_system(double *address, double val); extern __device__ __device_builtin__ int __iAtomicExch_block(int *address, int val); extern __device__ __device_builtin__ int __iAtomicExch_system(int *address, int val); extern __device__ __device_builtin__ unsigned int __uAtomicExch_block(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicExch_system(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned long long __ullAtomicExch_block(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicExch_system(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ float __fAtomicExch_block(float *address, float val); extern __device__ __device_builtin__ float __fAtomicExch_system(float *address, float val); extern __device__ __device_builtin__ int __iAtomicMin_block(int *address, int val); extern __device__ __device_builtin__ int __iAtomicMin_system(int *address, int val); extern __device__ __device_builtin__ long long __illAtomicMin_block(long long *address, long long val); extern __device__ __device_builtin__ long long __illAtomicMin_system(long long *address, long long val); extern __device__ __device_builtin__ unsigned int __uAtomicMin_block(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicMin_system(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned long long __ullAtomicMin_block(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicMin_system(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ int __iAtomicMax_block(int *address, int val); extern __device__ __device_builtin__ int __iAtomicMax_system(int *address, int val); extern __device__ __device_builtin__ long long __illAtomicMax_block(long long *address, long long val); extern __device__ __device_builtin__ long long __illAtomicMax_system(long long *address, long long val); extern __device__ __device_builtin__ unsigned int __uAtomicMax_block(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicMax_system(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned long long __ullAtomicMax_block(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicMax_system(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned int __uAtomicInc_block(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicInc_system(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicDec_block(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicDec_system(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ int __iAtomicCAS_block(int *address, int compare, int val); extern __device__ __device_builtin__ int __iAtomicCAS_system(int *address, int compare, int val); extern __device__ __device_builtin__ unsigned int __uAtomicCAS_block(unsigned int *address, unsigned int compare, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicCAS_system(unsigned int *address, unsigned int compare, unsigned int val); extern __device__ __device_builtin__ unsigned long long __ullAtomicCAS_block(unsigned long long int *address, unsigned long long int compare, unsigned long long int val); extern __device__ __device_builtin__ unsigned long long __ullAtomicCAS_system(unsigned long long int *address, unsigned long long int compare, unsigned long long int val); extern __device__ __device_builtin__ int __iAtomicAnd_block(int *address, int val); extern __device__ __device_builtin__ int __iAtomicAnd_system(int *address, int val); extern __device__ __device_builtin__ long long __llAtomicAnd_block(long long *address, long long val); extern __device__ __device_builtin__ long long __llAtomicAnd_system(long long *address, long long val); extern __device__ __device_builtin__ unsigned int __uAtomicAnd_block(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicAnd_system(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned long long __ullAtomicAnd_block(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicAnd_system(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ int __iAtomicOr_block(int *address, int val); extern __device__ __device_builtin__ int __iAtomicOr_system(int *address, int val); extern __device__ __device_builtin__ long long __llAtomicOr_block(long long *address, long long val); extern __device__ __device_builtin__ long long __llAtomicOr_system(long long *address, long long val); extern __device__ __device_builtin__ unsigned int __uAtomicOr_block(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicOr_system(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned long long __ullAtomicOr_block(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicOr_system(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ int __iAtomicXor_block(int *address, int val); extern __device__ __device_builtin__ int __iAtomicXor_system(int *address, int val); extern __device__ __device_builtin__ long long __llAtomicXor_block(long long *address, long long val); extern __device__ __device_builtin__ long long __llAtomicXor_system(long long *address, long long val); extern __device__ __device_builtin__ unsigned int __uAtomicXor_block(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned int __uAtomicXor_system(unsigned int *address, unsigned int val); extern __device__ __device_builtin__ unsigned long long __ullAtomicXor_block(unsigned long long *address, unsigned long long val); extern __device__ __device_builtin__ unsigned long long __ullAtomicXor_system(unsigned long long *address, unsigned long long val); } #endif __SM_60_ATOMIC_FUNCTIONS_DECL__ double atomicAdd(double *address, double val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicAdd_block(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicAdd_system(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicAdd_block(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicAdd_system(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicAdd_block(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicAdd_system(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ float atomicAdd_block(float *address, float val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ float atomicAdd_system(float *address, float val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ double atomicAdd_block(double *address, double val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ double atomicAdd_system(double *address, double val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicSub_block(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicSub_system(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicSub_block(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicSub_system(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicExch_block(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicExch_system(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicExch_block(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicExch_system(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicExch_block(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicExch_system(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ float atomicExch_block(float *address, float val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ float atomicExch_system(float *address, float val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicMin_block(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicMin_system(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ long long atomicMin_block(long long *address, long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ long long atomicMin_system(long long *address, long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicMin_block(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicMin_system(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicMin_block(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicMin_system(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicMax_block(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicMax_system(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ long long atomicMax_block(long long *address, long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ long long atomicMax_system(long long *address, long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicMax_block(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicMax_system(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicMax_block(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicMax_system(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicInc_block(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicInc_system(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicDec_block(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicDec_system(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicCAS_block(int *address, int compare, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicCAS_system(int *address, int compare, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicCAS_block(unsigned int *address, unsigned int compare, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicCAS_system(unsigned int *address, unsigned int compare, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long int atomicCAS_block(unsigned long long int *address, unsigned long long int compare, unsigned long long int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long int atomicCAS_system(unsigned long long int *address, unsigned long long int compare, unsigned long long int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicAnd_block(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicAnd_system(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ long long atomicAnd_block(long long *address, long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ long long atomicAnd_system(long long *address, long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicAnd_block(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicAnd_system(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicAnd_block(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicAnd_system(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicOr_block(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicOr_system(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ long long atomicOr_block(long long *address, long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ long long atomicOr_system(long long *address, long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicOr_block(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicOr_system(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicOr_block(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicOr_system(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicXor_block(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ int atomicXor_system(int *address, int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ long long atomicXor_block(long long *address, long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ long long atomicXor_system(long long *address, long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicXor_block(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned int atomicXor_system(unsigned int *address, unsigned int val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicXor_block(unsigned long long *address, unsigned long long val) __DEF_IF_HOST __SM_60_ATOMIC_FUNCTIONS_DECL__ unsigned long long atomicXor_system(unsigned long long *address, unsigned long long val) __DEF_IF_HOST #endif #endif #undef __SM_60_ATOMIC_FUNCTIONS_DECL__ #undef __DEF_IF_HOST #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "sm_60_atomic_functions.hpp" #endif #endif #if !defined(__SM_20_INTRINSICS_H__) #define __SM_20_INTRINSICS_H__ #if defined(__CUDACC_RTC__) #define __SM_20_INTRINSICS_DECL__ __device__ #else #define __SM_20_INTRINSICS_DECL__ static __inline__ __device__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif #if defined(_WIN32) # define __DEPRECATED__(msg) __declspec(deprecated(msg)) #elif (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5 && !defined(__clang__)))) # define __DEPRECATED__(msg) __attribute__((deprecated)) #else # define __DEPRECATED__(msg) __attribute__((deprecated(msg))) #endif #if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 700 #define __WSB_DEPRECATION_MESSAGE(x) #x"() is not valid on compute_70 and above, and should be replaced with "#x"_sync()."\ "To continue using "#x"(), specify virtual architecture compute_60 when targeting sm_70 and above, for example, using the pair of compiler options: -arch=compute_60 -code=sm_70." #else #define __WSB_DEPRECATION_MESSAGE(x) #x"() is deprecated in favor of "#x"_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning)." #endif extern "C" { extern __device__ __device_builtin__ void __threadfence_system(void); extern __device__ __device_builtin__ double __ddiv_rn(double x, double y); extern __device__ __device_builtin__ double __ddiv_rz(double x, double y); extern __device__ __device_builtin__ double __ddiv_ru(double x, double y); extern __device__ __device_builtin__ double __ddiv_rd(double x, double y); extern __device__ __device_builtin__ double __drcp_rn(double x); extern __device__ __device_builtin__ double __drcp_rz(double x); extern __device__ __device_builtin__ double __drcp_ru(double x); extern __device__ __device_builtin__ double __drcp_rd(double x); extern __device__ __device_builtin__ double __dsqrt_rn(double x); extern __device__ __device_builtin__ double __dsqrt_rz(double x); extern __device__ __device_builtin__ double __dsqrt_ru(double x); extern __device__ __device_builtin__ double __dsqrt_rd(double x); extern __device__ __device_builtin__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__ballot)) unsigned int __ballot(int); extern __device__ __device_builtin__ int __syncthreads_count(int); extern __device__ __device_builtin__ int __syncthreads_and(int); extern __device__ __device_builtin__ int __syncthreads_or(int); extern __device__ __device_builtin__ long long int clock64(void); extern __device__ __device_builtin__ float __fmaf_ieee_rn(float, float, float); extern __device__ __device_builtin__ float __fmaf_ieee_rz(float, float, float); extern __device__ __device_builtin__ float __fmaf_ieee_ru(float, float, float); extern __device__ __device_builtin__ float __fmaf_ieee_rd(float, float, float); extern __device__ __device_builtin__ long long int __double_as_longlong(double x); extern __device__ __device_builtin__ double __longlong_as_double(long long int x); extern __device__ __device_builtin__ double __fma_rn(double x, double y, double z); extern __device__ __device_builtin__ double __fma_rz(double x, double y, double z); extern __device__ __device_builtin__ double __fma_ru(double x, double y, double z); extern __device__ __device_builtin__ double __fma_rd(double x, double y, double z); extern __device__ __device_builtin__ double __dadd_rn(double x, double y); extern __device__ __device_builtin__ double __dadd_rz(double x, double y); extern __device__ __device_builtin__ double __dadd_ru(double x, double y); extern __device__ __device_builtin__ double __dadd_rd(double x, double y); extern __device__ __device_builtin__ double __dsub_rn(double x, double y); extern __device__ __device_builtin__ double __dsub_rz(double x, double y); extern __device__ __device_builtin__ double __dsub_ru(double x, double y); extern __device__ __device_builtin__ double __dsub_rd(double x, double y); extern __device__ __device_builtin__ double __dmul_rn(double x, double y); extern __device__ __device_builtin__ double __dmul_rz(double x, double y); extern __device__ __device_builtin__ double __dmul_ru(double x, double y); extern __device__ __device_builtin__ double __dmul_rd(double x, double y); extern __device__ __device_builtin__ float __double2float_rn(double x); extern __device__ __device_builtin__ float __double2float_rz(double x); extern __device__ __device_builtin__ float __double2float_ru(double x); extern __device__ __device_builtin__ float __double2float_rd(double x); extern __device__ __device_builtin__ int __double2int_rn(double x); extern __device__ __device_builtin__ int __double2int_ru(double x); extern __device__ __device_builtin__ int __double2int_rd(double x); extern __device__ __device_builtin__ unsigned int __double2uint_rn(double x); extern __device__ __device_builtin__ unsigned int __double2uint_ru(double x); extern __device__ __device_builtin__ unsigned int __double2uint_rd(double x); extern __device__ __device_builtin__ long long int __double2ll_rn(double x); extern __device__ __device_builtin__ long long int __double2ll_ru(double x); extern __device__ __device_builtin__ long long int __double2ll_rd(double x); extern __device__ __device_builtin__ unsigned long long int __double2ull_rn(double x); extern __device__ __device_builtin__ unsigned long long int __double2ull_ru(double x); extern __device__ __device_builtin__ unsigned long long int __double2ull_rd(double x); extern __device__ __device_builtin__ double __int2double_rn(int x); extern __device__ __device_builtin__ double __uint2double_rn(unsigned int x); extern __device__ __device_builtin__ double __ll2double_rn(long long int x); extern __device__ __device_builtin__ double __ll2double_rz(long long int x); extern __device__ __device_builtin__ double __ll2double_ru(long long int x); extern __device__ __device_builtin__ double __ll2double_rd(long long int x); extern __device__ __device_builtin__ double __ull2double_rn(unsigned long long int x); extern __device__ __device_builtin__ double __ull2double_rz(unsigned long long int x); extern __device__ __device_builtin__ double __ull2double_ru(unsigned long long int x); extern __device__ __device_builtin__ double __ull2double_rd(unsigned long long int x); extern __device__ __device_builtin__ int __double2hiint(double x); extern __device__ __device_builtin__ int __double2loint(double x); extern __device__ __device_builtin__ double __hiloint2double(int hi, int lo); } __SM_20_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__ballot)) unsigned int ballot(bool pred) __DEF_IF_HOST __SM_20_INTRINSICS_DECL__ int syncthreads_count(bool pred) __DEF_IF_HOST __SM_20_INTRINSICS_DECL__ bool syncthreads_and(bool pred) __DEF_IF_HOST __SM_20_INTRINSICS_DECL__ bool syncthreads_or(bool pred) __DEF_IF_HOST #undef __DEPRECATED__ #undef __WSB_DEPRECATION_MESSAGE __SM_20_INTRINSICS_DECL__ unsigned int __isGlobal(const void *ptr) __DEF_IF_HOST __SM_20_INTRINSICS_DECL__ unsigned int __isShared(const void *ptr) __DEF_IF_HOST __SM_20_INTRINSICS_DECL__ unsigned int __isConstant(const void *ptr) __DEF_IF_HOST __SM_20_INTRINSICS_DECL__ unsigned int __isLocal(const void *ptr) __DEF_IF_HOST #endif #undef __DEF_IF_HOST #undef __SM_20_INTRINSICS_DECL__ #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "sm_20_intrinsics.hpp" #endif #endif #if !defined(__SM_30_INTRINSICS_H__) #define __SM_30_INTRINSICS_H__ #if defined(__CUDACC_RTC__) #define __SM_30_INTRINSICS_DECL__ __device__ #else #define __SM_30_INTRINSICS_DECL__ static __device__ __inline__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 300 #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif #if !defined warpSize && !defined __local_warpSize #define warpSize 32 #define __local_warpSize #endif #if defined(_WIN32) # define __DEPRECATED__(msg) __declspec(deprecated(msg)) #elif (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5 && !defined(__clang__)))) # define __DEPRECATED__(msg) __attribute__((deprecated)) #else # define __DEPRECATED__(msg) __attribute__((deprecated(msg))) #endif #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ < 700 #define __WSB_DEPRECATION_MESSAGE(x) #x"() is deprecated in favor of "#x"_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning)." #endif __SM_30_INTRINSICS_DECL__ unsigned __fns(unsigned mask, unsigned base, int offset) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ void __barrier_sync(unsigned id) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ void __barrier_sync_count(unsigned id, unsigned cnt) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ void __syncwarp(unsigned mask=0xFFFFFFFF) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ int __all_sync(unsigned mask, int pred) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ int __any_sync(unsigned mask, int pred) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ int __uni_sync(unsigned mask, int pred) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned __ballot_sync(unsigned mask, int pred) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned __activemask() __DEF_IF_HOST #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ < 700 __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl)) int __shfl(int var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl)) unsigned int __shfl(unsigned int var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_up)) int __shfl_up(int var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_up)) unsigned int __shfl_up(unsigned int var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_down)) int __shfl_down(int var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_down)) unsigned int __shfl_down(unsigned int var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_xor)) int __shfl_xor(int var, int laneMask, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_xor)) unsigned int __shfl_xor(unsigned int var, int laneMask, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl)) float __shfl(float var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_up)) float __shfl_up(float var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_down)) float __shfl_down(float var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_xor)) float __shfl_xor(float var, int laneMask, int width=warpSize) __DEF_IF_HOST #endif __SM_30_INTRINSICS_DECL__ int __shfl_sync(unsigned mask, int var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned int __shfl_sync(unsigned mask, unsigned int var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ int __shfl_up_sync(unsigned mask, int var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned int __shfl_up_sync(unsigned mask, unsigned int var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ int __shfl_down_sync(unsigned mask, int var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned int __shfl_down_sync(unsigned mask, unsigned int var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ int __shfl_xor_sync(unsigned mask, int var, int laneMask, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned int __shfl_xor_sync(unsigned mask, unsigned int var, int laneMask, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ float __shfl_sync(unsigned mask, float var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ float __shfl_up_sync(unsigned mask, float var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ float __shfl_down_sync(unsigned mask, float var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ float __shfl_xor_sync(unsigned mask, float var, int laneMask, int width=warpSize) __DEF_IF_HOST #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ < 700 __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl)) unsigned long long __shfl(unsigned long long var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl)) long long __shfl(long long var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_up)) long long __shfl_up(long long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_up)) unsigned long long __shfl_up(unsigned long long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_down)) long long __shfl_down(long long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_down)) unsigned long long __shfl_down(unsigned long long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_xor)) long long __shfl_xor(long long var, int laneMask, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_xor)) unsigned long long __shfl_xor(unsigned long long var, int laneMask, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl)) double __shfl(double var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_up)) double __shfl_up(double var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_down)) double __shfl_down(double var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_xor)) double __shfl_xor(double var, int laneMask, int width=warpSize) __DEF_IF_HOST #endif __SM_30_INTRINSICS_DECL__ long long __shfl_sync(unsigned mask, long long var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned long long __shfl_sync(unsigned mask, unsigned long long var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ long long __shfl_up_sync(unsigned mask, long long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned long long __shfl_up_sync(unsigned mask, unsigned long long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ long long __shfl_down_sync(unsigned mask, long long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned long long __shfl_down_sync(unsigned mask, unsigned long long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ long long __shfl_xor_sync(unsigned mask, long long var, int laneMask, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned long long __shfl_xor_sync(unsigned mask, unsigned long long var, int laneMask, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ double __shfl_sync(unsigned mask, double var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ double __shfl_up_sync(unsigned mask, double var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ double __shfl_down_sync(unsigned mask, double var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ double __shfl_xor_sync(unsigned mask, double var, int laneMask, int width=warpSize) __DEF_IF_HOST #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ < 700 __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl)) long __shfl(long var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl)) unsigned long __shfl(unsigned long var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_up)) long __shfl_up(long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_up)) unsigned long __shfl_up(unsigned long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_down)) long __shfl_down(long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_down)) unsigned long __shfl_down(unsigned long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_xor)) long __shfl_xor(long var, int laneMask, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ __DEPRECATED__(__WSB_DEPRECATION_MESSAGE(__shfl_xor)) unsigned long __shfl_xor(unsigned long var, int laneMask, int width=warpSize) __DEF_IF_HOST #endif __SM_30_INTRINSICS_DECL__ long __shfl_sync(unsigned mask, long var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned long __shfl_sync(unsigned mask, unsigned long var, int srcLane, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ long __shfl_up_sync(unsigned mask, long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned long __shfl_up_sync(unsigned mask, unsigned long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ long __shfl_down_sync(unsigned mask, long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned long __shfl_down_sync(unsigned mask, unsigned long var, unsigned int delta, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ long __shfl_xor_sync(unsigned mask, long var, int laneMask, int width=warpSize) __DEF_IF_HOST __SM_30_INTRINSICS_DECL__ unsigned long __shfl_xor_sync(unsigned mask, unsigned long var, int laneMask, int width=warpSize) __DEF_IF_HOST #undef __DEPRECATED__ #undef __WSB_DEPRECATION_MESSAGE #if defined(__local_warpSize) #undef warpSize #undef __local_warpSize #endif #endif #endif #undef __DEF_IF_HOST #undef __SM_30_INTRINSICS_DECL__ #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "sm_30_intrinsics.hpp" #endif #endif #if !defined(__SM_32_INTRINSICS_H__) #define __SM_32_INTRINSICS_H__ #if defined(__CUDACC_RTC__) #define __SM_32_INTRINSICS_DECL__ __device__ #else #define __SM_32_INTRINSICS_DECL__ static __device__ __inline__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 320 #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif __SM_32_INTRINSICS_DECL__ long __ldg(const long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long __ldg(const unsigned long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char __ldg(const char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ signed char __ldg(const signed char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short __ldg(const short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int __ldg(const int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long long __ldg(const long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char2 __ldg(const char2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char4 __ldg(const char4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short2 __ldg(const short2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short4 __ldg(const short4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int2 __ldg(const int2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int4 __ldg(const int4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ longlong2 __ldg(const longlong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned char __ldg(const unsigned char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned short __ldg(const unsigned short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __ldg(const unsigned int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long long __ldg(const unsigned long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar2 __ldg(const uchar2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar4 __ldg(const uchar4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort2 __ldg(const ushort2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort4 __ldg(const ushort4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint2 __ldg(const uint2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint4 __ldg(const uint4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ulonglong2 __ldg(const ulonglong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float __ldg(const float *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double __ldg(const double *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float2 __ldg(const float2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float4 __ldg(const float4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double2 __ldg(const double2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long __ldcg(const long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long __ldcg(const unsigned long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char __ldcg(const char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ signed char __ldcg(const signed char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short __ldcg(const short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int __ldcg(const int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long long __ldcg(const long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char2 __ldcg(const char2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char4 __ldcg(const char4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short2 __ldcg(const short2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short4 __ldcg(const short4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int2 __ldcg(const int2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int4 __ldcg(const int4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ longlong2 __ldcg(const longlong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned char __ldcg(const unsigned char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned short __ldcg(const unsigned short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __ldcg(const unsigned int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long long __ldcg(const unsigned long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar2 __ldcg(const uchar2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar4 __ldcg(const uchar4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort2 __ldcg(const ushort2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort4 __ldcg(const ushort4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint2 __ldcg(const uint2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint4 __ldcg(const uint4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ulonglong2 __ldcg(const ulonglong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float __ldcg(const float *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double __ldcg(const double *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float2 __ldcg(const float2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float4 __ldcg(const float4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double2 __ldcg(const double2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long __ldca(const long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long __ldca(const unsigned long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char __ldca(const char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ signed char __ldca(const signed char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short __ldca(const short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int __ldca(const int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long long __ldca(const long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char2 __ldca(const char2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char4 __ldca(const char4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short2 __ldca(const short2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short4 __ldca(const short4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int2 __ldca(const int2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int4 __ldca(const int4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ longlong2 __ldca(const longlong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned char __ldca(const unsigned char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned short __ldca(const unsigned short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __ldca(const unsigned int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long long __ldca(const unsigned long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar2 __ldca(const uchar2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar4 __ldca(const uchar4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort2 __ldca(const ushort2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort4 __ldca(const ushort4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint2 __ldca(const uint2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint4 __ldca(const uint4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ulonglong2 __ldca(const ulonglong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float __ldca(const float *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double __ldca(const double *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float2 __ldca(const float2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float4 __ldca(const float4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double2 __ldca(const double2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long __ldcs(const long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long __ldcs(const unsigned long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char __ldcs(const char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ signed char __ldcs(const signed char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short __ldcs(const short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int __ldcs(const int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long long __ldcs(const long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char2 __ldcs(const char2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char4 __ldcs(const char4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short2 __ldcs(const short2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short4 __ldcs(const short4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int2 __ldcs(const int2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int4 __ldcs(const int4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ longlong2 __ldcs(const longlong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned char __ldcs(const unsigned char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned short __ldcs(const unsigned short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __ldcs(const unsigned int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long long __ldcs(const unsigned long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar2 __ldcs(const uchar2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar4 __ldcs(const uchar4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort2 __ldcs(const ushort2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort4 __ldcs(const ushort4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint2 __ldcs(const uint2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint4 __ldcs(const uint4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ulonglong2 __ldcs(const ulonglong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float __ldcs(const float *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double __ldcs(const double *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float2 __ldcs(const float2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float4 __ldcs(const float4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double2 __ldcs(const double2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __funnelshift_l(unsigned int lo, unsigned int hi, unsigned int shift) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __funnelshift_lc(unsigned int lo, unsigned int hi, unsigned int shift) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __funnelshift_r(unsigned int lo, unsigned int hi, unsigned int shift) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __funnelshift_rc(unsigned int lo, unsigned int hi, unsigned int shift) __DEF_IF_HOST #endif #endif #undef __SM_32_INTRINSICS_DECL__ #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "sm_32_intrinsics.hpp" #endif #endif #if !defined(__SM_35_INTRINSICS_H__) #define __SM_35_INTRINSICS_H__ #if !defined(__SM_32_INTRINSICS_H__) #define __SM_32_INTRINSICS_H__ #if defined(__CUDACC_RTC__) #define __SM_32_INTRINSICS_DECL__ __device__ #else #define __SM_32_INTRINSICS_DECL__ static __device__ __inline__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 320 #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif __SM_32_INTRINSICS_DECL__ long __ldg(const long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long __ldg(const unsigned long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char __ldg(const char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ signed char __ldg(const signed char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short __ldg(const short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int __ldg(const int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long long __ldg(const long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char2 __ldg(const char2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char4 __ldg(const char4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short2 __ldg(const short2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short4 __ldg(const short4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int2 __ldg(const int2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int4 __ldg(const int4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ longlong2 __ldg(const longlong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned char __ldg(const unsigned char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned short __ldg(const unsigned short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __ldg(const unsigned int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long long __ldg(const unsigned long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar2 __ldg(const uchar2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar4 __ldg(const uchar4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort2 __ldg(const ushort2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort4 __ldg(const ushort4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint2 __ldg(const uint2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint4 __ldg(const uint4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ulonglong2 __ldg(const ulonglong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float __ldg(const float *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double __ldg(const double *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float2 __ldg(const float2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float4 __ldg(const float4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double2 __ldg(const double2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long __ldcg(const long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long __ldcg(const unsigned long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char __ldcg(const char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ signed char __ldcg(const signed char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short __ldcg(const short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int __ldcg(const int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long long __ldcg(const long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char2 __ldcg(const char2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char4 __ldcg(const char4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short2 __ldcg(const short2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short4 __ldcg(const short4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int2 __ldcg(const int2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int4 __ldcg(const int4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ longlong2 __ldcg(const longlong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned char __ldcg(const unsigned char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned short __ldcg(const unsigned short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __ldcg(const unsigned int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long long __ldcg(const unsigned long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar2 __ldcg(const uchar2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar4 __ldcg(const uchar4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort2 __ldcg(const ushort2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort4 __ldcg(const ushort4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint2 __ldcg(const uint2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint4 __ldcg(const uint4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ulonglong2 __ldcg(const ulonglong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float __ldcg(const float *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double __ldcg(const double *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float2 __ldcg(const float2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float4 __ldcg(const float4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double2 __ldcg(const double2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long __ldca(const long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long __ldca(const unsigned long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char __ldca(const char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ signed char __ldca(const signed char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short __ldca(const short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int __ldca(const int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long long __ldca(const long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char2 __ldca(const char2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char4 __ldca(const char4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short2 __ldca(const short2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short4 __ldca(const short4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int2 __ldca(const int2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int4 __ldca(const int4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ longlong2 __ldca(const longlong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned char __ldca(const unsigned char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned short __ldca(const unsigned short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __ldca(const unsigned int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long long __ldca(const unsigned long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar2 __ldca(const uchar2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar4 __ldca(const uchar4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort2 __ldca(const ushort2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort4 __ldca(const ushort4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint2 __ldca(const uint2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint4 __ldca(const uint4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ulonglong2 __ldca(const ulonglong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float __ldca(const float *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double __ldca(const double *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float2 __ldca(const float2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float4 __ldca(const float4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double2 __ldca(const double2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long __ldcs(const long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long __ldcs(const unsigned long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char __ldcs(const char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ signed char __ldcs(const signed char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short __ldcs(const short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int __ldcs(const int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ long long __ldcs(const long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char2 __ldcs(const char2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ char4 __ldcs(const char4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short2 __ldcs(const short2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ short4 __ldcs(const short4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int2 __ldcs(const int2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ int4 __ldcs(const int4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ longlong2 __ldcs(const longlong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned char __ldcs(const unsigned char *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned short __ldcs(const unsigned short *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __ldcs(const unsigned int *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned long long __ldcs(const unsigned long long *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar2 __ldcs(const uchar2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uchar4 __ldcs(const uchar4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort2 __ldcs(const ushort2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ushort4 __ldcs(const ushort4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint2 __ldcs(const uint2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ uint4 __ldcs(const uint4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ ulonglong2 __ldcs(const ulonglong2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float __ldcs(const float *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double __ldcs(const double *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float2 __ldcs(const float2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ float4 __ldcs(const float4 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ double2 __ldcs(const double2 *ptr) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __funnelshift_l(unsigned int lo, unsigned int hi, unsigned int shift) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __funnelshift_lc(unsigned int lo, unsigned int hi, unsigned int shift) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __funnelshift_r(unsigned int lo, unsigned int hi, unsigned int shift) __DEF_IF_HOST __SM_32_INTRINSICS_DECL__ unsigned int __funnelshift_rc(unsigned int lo, unsigned int hi, unsigned int shift) __DEF_IF_HOST #endif #endif #undef __SM_32_INTRINSICS_DECL__ #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "sm_32_intrinsics.hpp" #endif #endif #endif #if !defined(__SM_61_INTRINSICS_H__) #define __SM_61_INTRINSICS_H__ #if defined(__CUDACC_RTC__) #define __SM_61_INTRINSICS_DECL__ __device__ #else #define __SM_61_INTRINSICS_DECL__ static __device__ __inline__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 610 #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif __SM_61_INTRINSICS_DECL__ int __dp2a_lo(int srcA, int srcB, int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ unsigned int __dp2a_lo(unsigned int srcA, unsigned int srcB, unsigned int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ int __dp2a_lo(short2 srcA, char4 srcB, int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ unsigned int __dp2a_lo(ushort2 srcA, uchar4 srcB, unsigned int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ int __dp2a_hi(int srcA, int srcB, int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ unsigned int __dp2a_hi(unsigned int srcA, unsigned int srcB, unsigned int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ int __dp2a_hi(short2 srcA, char4 srcB, int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ unsigned int __dp2a_hi(ushort2 srcA, uchar4 srcB, unsigned int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ int __dp4a(int srcA, int srcB, int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ unsigned int __dp4a(unsigned int srcA, unsigned int srcB, unsigned int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ int __dp4a(char4 srcA, char4 srcB, int c) __DEF_IF_HOST __SM_61_INTRINSICS_DECL__ unsigned int __dp4a(uchar4 srcA, uchar4 srcB, unsigned int c) __DEF_IF_HOST #endif #endif #undef __DEF_IF_HOST #undef __SM_61_INTRINSICS_DECL__ #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "sm_61_intrinsics.hpp" #endif #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/sm_70_rt.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/sm_70_rt.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_SM_70_RT_H__ #endif #if !defined(__SM_70_RT_H__) #define __SM_70_RT_H__ #if defined(__CUDACC_RTC__) #define __SM_70_RT_DECL__ __host__ __device__ #else #define __SM_70_RT_DECL__ static __device__ __inline__ #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 700 #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #ifndef __CUDA_ARCH__ #define __DEF_IF_HOST { } #else #define __DEF_IF_HOST ; #endif __SM_70_RT_DECL__ unsigned int __match_any_sync(unsigned mask, unsigned value) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_any_sync(unsigned mask, int value) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_any_sync(unsigned mask, unsigned long value) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_any_sync(unsigned mask, long value) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_any_sync(unsigned mask, unsigned long long value) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_any_sync(unsigned mask, long long value) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_any_sync(unsigned mask, float value) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_any_sync(unsigned mask, double value) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_all_sync(unsigned mask, unsigned value, int *pred) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_all_sync(unsigned mask, int value, int *pred) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_all_sync(unsigned mask, unsigned long value, int *pred) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_all_sync(unsigned mask, long value, int *pred) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_all_sync(unsigned mask, unsigned long long value, int *pred) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_all_sync(unsigned mask, long long value, int *pred) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_all_sync(unsigned mask, float value, int *pred) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned int __match_all_sync(unsigned mask, double value, int *pred) __DEF_IF_HOST __SM_70_RT_DECL__ void __nanosleep(unsigned int ns) __DEF_IF_HOST __SM_70_RT_DECL__ unsigned short int atomicCAS(unsigned short int *address, unsigned short int compare, unsigned short int val) __DEF_IF_HOST #endif #endif #undef __DEF_IF_HOST #undef __SM_70_RT_DECL__ #if !defined(__CUDACC_RTC__) && defined(__CUDA_ARCH__) #include "sm_70_rt.hpp" #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_SM_70_RT_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_SM_70_RT_H__ #endif #if !defined(__SURFACE_FUNCTIONS_H__) #define __SURFACE_FUNCTIONS_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #if !defined(__CUDA_SURFACE_TYPES_H__) #define __CUDA_SURFACE_TYPES_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDACC_RTC__) #endif #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif template struct __device_builtin_surface_type__ surface : public surfaceReference { #if !defined(__CUDACC_RTC__) __host__ surface(void) { channelDesc = cudaCreateChannelDesc(); } __host__ surface(struct cudaChannelFormatDesc desc) { channelDesc = desc; } #endif }; template struct __device_builtin_surface_type__ surface : public surfaceReference { #if !defined(__CUDACC_RTC__) __host__ surface(void) { channelDesc = cudaCreateChannelDesc(); } #endif }; #endif #endif #ifdef __CUDA_ARCH__ template struct __nv_surf_trait { typedef void * cast_type; }; template<> struct __nv_surf_trait { typedef char * cast_type; }; template<> struct __nv_surf_trait { typedef signed char * cast_type; }; template<> struct __nv_surf_trait { typedef unsigned char * cast_type; }; template<> struct __nv_surf_trait { typedef char1 * cast_type; }; template<> struct __nv_surf_trait { typedef uchar1 * cast_type; }; template<> struct __nv_surf_trait { typedef char2 * cast_type; }; template<> struct __nv_surf_trait { typedef uchar2 * cast_type; }; template<> struct __nv_surf_trait { typedef char4 * cast_type; }; template<> struct __nv_surf_trait { typedef uchar4 * cast_type; }; template<> struct __nv_surf_trait { typedef short * cast_type; }; template<> struct __nv_surf_trait { typedef unsigned short * cast_type; }; template<> struct __nv_surf_trait { typedef short1 * cast_type; }; template<> struct __nv_surf_trait { typedef ushort1 * cast_type; }; template<> struct __nv_surf_trait { typedef short2 * cast_type; }; template<> struct __nv_surf_trait { typedef ushort2 * cast_type; }; template<> struct __nv_surf_trait { typedef short4 * cast_type; }; template<> struct __nv_surf_trait { typedef ushort4 * cast_type; }; template<> struct __nv_surf_trait { typedef int * cast_type; }; template<> struct __nv_surf_trait { typedef unsigned int * cast_type; }; template<> struct __nv_surf_trait { typedef int1 * cast_type; }; template<> struct __nv_surf_trait { typedef uint1 * cast_type; }; template<> struct __nv_surf_trait { typedef int2 * cast_type; }; template<> struct __nv_surf_trait { typedef uint2 * cast_type; }; template<> struct __nv_surf_trait { typedef int4 * cast_type; }; template<> struct __nv_surf_trait { typedef uint4 * cast_type; }; template<> struct __nv_surf_trait { typedef long long * cast_type; }; template<> struct __nv_surf_trait { typedef unsigned long long * cast_type; }; template<> struct __nv_surf_trait { typedef longlong1 * cast_type; }; template<> struct __nv_surf_trait { typedef ulonglong1 * cast_type; }; template<> struct __nv_surf_trait { typedef longlong2 * cast_type; }; template<> struct __nv_surf_trait { typedef ulonglong2 * cast_type; }; #if !defined(__LP64__) template<> struct __nv_surf_trait { typedef int * cast_type; }; template<> struct __nv_surf_trait { typedef unsigned int * cast_type; }; template<> struct __nv_surf_trait { typedef int1 * cast_type; }; template<> struct __nv_surf_trait { typedef uint1 * cast_type; }; template<> struct __nv_surf_trait { typedef int2 * cast_type; }; template<> struct __nv_surf_trait { typedef uint2 * cast_type; }; template<> struct __nv_surf_trait { typedef uint4 * cast_type; }; template<> struct __nv_surf_trait { typedef int4 * cast_type; }; #endif template<> struct __nv_surf_trait { typedef float * cast_type; }; template<> struct __nv_surf_trait { typedef float1 * cast_type; }; template<> struct __nv_surf_trait { typedef float2 * cast_type; }; template<> struct __nv_surf_trait { typedef float4 * cast_type; }; #endif template static __device__ __forceinline__ void surf1Dread(T *res, surface surf, int x, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf1Dread_v2", (void *)res, s, surf, x, mode); #endif } template static __device__ __forceinline__ T surf1Dread(surface surf, int x, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T temp; __nv_tex_surf_handler("__surf1Dread_v2", (typename __nv_surf_trait::cast_type)&temp, (int)sizeof(T), surf, x, mode); return temp; #endif } template static __device__ __forceinline__ void surf1Dread(T *res, surface surf, int x, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ *res = surf1Dread(surf, x, mode); #endif } template static __device__ __forceinline__ void surf2Dread(T *res, surface surf, int x, int y, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf2Dread_v2", (void *)res, s, surf, x, y, mode); #endif } template static __device__ __forceinline__ T surf2Dread(surface surf, int x, int y, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T temp; __nv_tex_surf_handler("__surf2Dread_v2", (typename __nv_surf_trait::cast_type)&temp, (int)sizeof(T), surf, x, y, mode); return temp; #endif } template static __device__ __forceinline__ void surf2Dread(T *res, surface surf, int x, int y, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ *res = surf2Dread(surf, x, y, mode); #endif } template static __device__ __forceinline__ void surf3Dread(T *res, surface surf, int x, int y, int z, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf3Dread_v2", (void *)res, s, surf, x, y, z, mode); #endif } template static __device__ __forceinline__ T surf3Dread(surface surf, int x, int y, int z, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T temp; __nv_tex_surf_handler("__surf3Dread_v2", (typename __nv_surf_trait::cast_type)&temp, (int)sizeof(T), surf, x, y, z, mode); return temp; #endif } template static __device__ __forceinline__ void surf3Dread(T *res, surface surf, int x, int y, int z, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ *res = surf3Dread(surf, x, y, z, mode); #endif } template static __device__ __forceinline__ void surf1DLayeredread(T *res, surface surf, int x, int layer, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf1DLayeredread_v2", (void *)res, s, surf, x, layer, mode); #endif } template static __device__ __forceinline__ T surf1DLayeredread(surface surf, int x, int layer, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T temp; __nv_tex_surf_handler("__surf1DLayeredread_v2", (typename __nv_surf_trait::cast_type)&temp, (int)sizeof(T), surf, x, layer, mode); return temp; #endif } template static __device__ __forceinline__ void surf1DLayeredread(T *res, surface surf, int x, int layer, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ *res = surf1DLayeredread(surf, x, layer, mode); #endif } template static __device__ __forceinline__ void surf2DLayeredread(T *res, surface surf, int x, int y, int layer, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf2DLayeredread_v2", (void *)res, s, surf, x, y, layer, mode); #endif } template static __device__ __forceinline__ T surf2DLayeredread(surface surf, int x, int y, int layer, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T temp; __nv_tex_surf_handler("__surf2DLayeredread_v2", (typename __nv_surf_trait::cast_type)&temp, (int)sizeof(T), surf, x, y, layer, mode); return temp; #endif } template static __device__ __forceinline__ void surf2DLayeredread(T *res, surface surf, int x, int y, int layer, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ *res = surf2DLayeredread(surf, x, y, layer, mode); #endif } template static __device__ __forceinline__ void surfCubemapread(T *res, surface surf, int x, int y, int face, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surfCubemapread_v2", (void *)res, s, surf, x, y, face, mode); #endif } template static __device__ __forceinline__ T surfCubemapread(surface surf, int x, int y, int face, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T temp; __nv_tex_surf_handler("__surfCubemapread_v2", (typename __nv_surf_trait::cast_type)&temp, (int)sizeof(T), surf, x, y, face, mode); return temp; #endif } template static __device__ __forceinline__ void surfCubemapread(T *res, surface surf, int x, int y, int face, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ *res = surfCubemapread(surf, x, y, face, mode); #endif } template static __device__ __forceinline__ void surfCubemapLayeredread(T *res, surface surf, int x, int y, int layerFace, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surfCubemapLayeredread_v2", (void *)res, s, surf, x, y, layerFace, mode); #endif } template static __device__ __forceinline__ T surfCubemapLayeredread(surface surf, int x, int y, int layerFace, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T temp; __nv_tex_surf_handler("__surfCubemapLayeredread_v2", (typename __nv_surf_trait::cast_type)&temp, (int)sizeof(T), surf, x, y, layerFace, mode); return temp; #endif } template static __device__ __forceinline__ void surfCubemapLayeredread(T *res, surface surf, int x, int y, int layerFace, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ *res = surfCubemapLayeredread(surf, x, y, layerFace, mode); #endif } template static __device__ __forceinline__ void surf1Dwrite(T val, surface surf, int x, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf1Dwrite_v2", (void *)&val, s, surf, x, mode); #endif } template static __device__ __forceinline__ void surf1Dwrite(T val, surface surf, int x, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf1Dwrite_v2", (typename __nv_surf_trait::cast_type)&val, (int)sizeof(T), surf, x, mode); #endif } template static __device__ __forceinline__ void surf2Dwrite(T val, surface surf, int x, int y, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf2Dwrite_v2", (void *)&val, s, surf, x, y, mode); #endif } template static __device__ __forceinline__ void surf2Dwrite(T val, surface surf, int x, int y, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf2Dwrite_v2", (typename __nv_surf_trait::cast_type)&val, (int)sizeof(T), surf, x, y, mode); #endif } template static __device__ __forceinline__ void surf3Dwrite(T val, surface surf, int x, int y, int z, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf3Dwrite_v2", (void *)&val, s, surf, x, y, z,mode); #endif } template static __device__ __forceinline__ void surf3Dwrite(T val, surface surf, int x, int y, int z, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf3Dwrite_v2", (typename __nv_surf_trait::cast_type)&val, (int)sizeof(T), surf, x, y, z, mode); #endif } template static __device__ __forceinline__ void surf1DLayeredwrite(T val, surface surf, int x, int layer, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf1DLayeredwrite_v2", (void *)&val, s, surf, x, layer,mode); #endif } template static __device__ __forceinline__ void surf1DLayeredwrite(T val, surface surf, int x, int layer, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf1DLayeredwrite_v2", (typename __nv_surf_trait::cast_type)&val, (int)sizeof(T), surf, x, layer, mode); #endif } template static __device__ __forceinline__ void surf2DLayeredwrite(T val, surface surf, int x, int y, int layer, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf2DLayeredwrite_v2", (void *)&val, s, surf, x, y, layer,mode); #endif } template static __device__ __forceinline__ void surf2DLayeredwrite(T val, surface surf, int x, int y, int layer, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surf2DLayeredwrite_v2", (typename __nv_surf_trait::cast_type)&val, (int)sizeof(T), surf, x, y, layer, mode); #endif } template static __device__ __forceinline__ void surfCubemapwrite(T val, surface surf, int x, int y, int face, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surfCubemapwrite_v2", (void *)&val, s, surf, x, y, face, mode); #endif } template static __device__ __forceinline__ void surfCubemapwrite(T val, surface surf, int x, int y, int face, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surfCubemapwrite_v2", (typename __nv_surf_trait::cast_type)&val, (int)sizeof(T), surf, x, y, face, mode); #endif } template static __device__ __forceinline__ void surfCubemapLayeredwrite(T val, surface surf, int x, int y, int layerFace, int s, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surfCubemapLayeredwrite_v2", (void *)&val, s, surf, x, y, layerFace, mode); #endif } template static __device__ __forceinline__ void surfCubemapLayeredwrite(T val, surface surf, int x, int y, int layerFace, enum cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__surfCubemapLayeredwrite_v2", (typename __nv_surf_trait::cast_type)&val, (int)sizeof(T), surf, x, y, layerFace, mode); #endif } #endif #endif #if !defined(__TEXTURE_FETCH_FUNCTIONS_H__) #define __TEXTURE_FETCH_FUNCTIONS_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif #if !defined(__CUDA_TEXTURE_TYPES_H__) #define __CUDA_TEXTURE_TYPES_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDACC_RTC__) #endif #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif template struct __device_builtin_texture_type__ texture : public textureReference { #if !defined(__CUDACC_RTC__) __host__ texture(int norm = 0, enum cudaTextureFilterMode fMode = cudaFilterModePoint, enum cudaTextureAddressMode aMode = cudaAddressModeClamp) { normalized = norm; filterMode = fMode; addressMode[0] = aMode; addressMode[1] = aMode; addressMode[2] = aMode; channelDesc = cudaCreateChannelDesc(); sRGB = 0; } __host__ texture(int norm, enum cudaTextureFilterMode fMode, enum cudaTextureAddressMode aMode, struct cudaChannelFormatDesc desc) { normalized = norm; filterMode = fMode; addressMode[0] = aMode; addressMode[1] = aMode; addressMode[2] = aMode; channelDesc = desc; sRGB = 0; } #endif }; #endif #endif template struct __nv_tex_rmet_ret { }; template<> struct __nv_tex_rmet_ret { typedef char type; }; template<> struct __nv_tex_rmet_ret { typedef signed char type; }; template<> struct __nv_tex_rmet_ret { typedef unsigned char type; }; template<> struct __nv_tex_rmet_ret { typedef char1 type; }; template<> struct __nv_tex_rmet_ret { typedef uchar1 type; }; template<> struct __nv_tex_rmet_ret { typedef char2 type; }; template<> struct __nv_tex_rmet_ret { typedef uchar2 type; }; template<> struct __nv_tex_rmet_ret { typedef char4 type; }; template<> struct __nv_tex_rmet_ret { typedef uchar4 type; }; template<> struct __nv_tex_rmet_ret { typedef short type; }; template<> struct __nv_tex_rmet_ret { typedef unsigned short type; }; template<> struct __nv_tex_rmet_ret { typedef short1 type; }; template<> struct __nv_tex_rmet_ret { typedef ushort1 type; }; template<> struct __nv_tex_rmet_ret { typedef short2 type; }; template<> struct __nv_tex_rmet_ret { typedef ushort2 type; }; template<> struct __nv_tex_rmet_ret { typedef short4 type; }; template<> struct __nv_tex_rmet_ret { typedef ushort4 type; }; template<> struct __nv_tex_rmet_ret { typedef int type; }; template<> struct __nv_tex_rmet_ret { typedef unsigned int type; }; template<> struct __nv_tex_rmet_ret { typedef int1 type; }; template<> struct __nv_tex_rmet_ret { typedef uint1 type; }; template<> struct __nv_tex_rmet_ret { typedef int2 type; }; template<> struct __nv_tex_rmet_ret { typedef uint2 type; }; template<> struct __nv_tex_rmet_ret { typedef int4 type; }; template<> struct __nv_tex_rmet_ret { typedef uint4 type; }; #if !defined(__LP64__) template<> struct __nv_tex_rmet_ret { typedef long type; }; template<> struct __nv_tex_rmet_ret { typedef unsigned long type; }; template<> struct __nv_tex_rmet_ret { typedef long1 type; }; template<> struct __nv_tex_rmet_ret { typedef ulong1 type; }; template<> struct __nv_tex_rmet_ret { typedef long2 type; }; template<> struct __nv_tex_rmet_ret { typedef ulong2 type; }; template<> struct __nv_tex_rmet_ret { typedef long4 type; }; template<> struct __nv_tex_rmet_ret { typedef ulong4 type; }; #endif template<> struct __nv_tex_rmet_ret { typedef float type; }; template<> struct __nv_tex_rmet_ret { typedef float1 type; }; template<> struct __nv_tex_rmet_ret { typedef float2 type; }; template<> struct __nv_tex_rmet_ret { typedef float4 type; }; template struct __nv_tex_rmet_cast { typedef T* type; }; #if !defined(__LP64__) template<> struct __nv_tex_rmet_cast { typedef int *type; }; template<> struct __nv_tex_rmet_cast { typedef unsigned int *type; }; template<> struct __nv_tex_rmet_cast { typedef int1 *type; }; template<> struct __nv_tex_rmet_cast { typedef uint1 *type; }; template<> struct __nv_tex_rmet_cast { typedef int2 *type; }; template<> struct __nv_tex_rmet_cast { typedef uint2 *type; }; template<> struct __nv_tex_rmet_cast { typedef int4 *type; }; template<> struct __nv_tex_rmet_cast { typedef uint4 *type; }; #endif template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex1Dfetch(texture t, int x) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex1Dfetch_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x); return temp; #endif } template struct __nv_tex_rmnf_ret { }; template <> struct __nv_tex_rmnf_ret { typedef float type; }; template <> struct __nv_tex_rmnf_ret { typedef float type; }; template <> struct __nv_tex_rmnf_ret { typedef float type; }; template <> struct __nv_tex_rmnf_ret { typedef float type; }; template <> struct __nv_tex_rmnf_ret { typedef float type; }; template <> struct __nv_tex_rmnf_ret { typedef float1 type; }; template <> struct __nv_tex_rmnf_ret { typedef float1 type; }; template <> struct __nv_tex_rmnf_ret { typedef float1 type; }; template <> struct __nv_tex_rmnf_ret { typedef float1 type; }; template <> struct __nv_tex_rmnf_ret { typedef float2 type; }; template <> struct __nv_tex_rmnf_ret { typedef float2 type; }; template <> struct __nv_tex_rmnf_ret { typedef float2 type; }; template <> struct __nv_tex_rmnf_ret { typedef float2 type; }; template <> struct __nv_tex_rmnf_ret { typedef float4 type; }; template <> struct __nv_tex_rmnf_ret { typedef float4 type; }; template <> struct __nv_tex_rmnf_ret { typedef float4 type; }; template <> struct __nv_tex_rmnf_ret { typedef float4 type; }; template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex1Dfetch(texture t, int x) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex1Dfetch_rmnf_v2", &type_dummy, &retval, t, x); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex1D(texture t, float x) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex1D_v2", (typename __nv_tex_rmet_cast::type) &temp, t, x); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex1D(texture t, float x) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex1D_rmnf_v2", &type_dummy, &retval, t, x); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex2D(texture t, float x, float y) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex2D_v2", (typename __nv_tex_rmet_cast::type) &temp, t, x, y); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex2D(texture t, float x, float y) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex2D_rmnf_v2", &type_dummy, &retval, t, x, y); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex1DLayered(texture t, float x, int layer) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex1DLayered_v2", (typename __nv_tex_rmet_cast::type) &temp, t, x, layer); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex1DLayered(texture t, float x, int layer) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex1DLayered_rmnf_v2", &type_dummy, &retval, t, x, layer); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex2DLayered(texture t, float x, float y, int layer) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex2DLayered_v2", (typename __nv_tex_rmet_cast::type) &temp, t, x, y, layer); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex2DLayered(texture t, float x, float y, int layer) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex2DLayered_rmnf_v2", &type_dummy, &retval, t, x, y, layer); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex3D(texture t, float x, float y, float z) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex3D_v2", (typename __nv_tex_rmet_cast::type) &temp, t, x, y, z); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex3D(texture t, float x, float y, float z) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex3D_rmnf_v2", &type_dummy, &retval, t, x, y, z); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type texCubemap(texture t, float x, float y, float z) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__texCubemap_v2", (typename __nv_tex_rmet_cast::type) &temp, t, x, y, z); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type texCubemap(texture t, float x, float y, float z) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__texCubemap_rmnf_v2", &type_dummy, &retval, t, x, y, z); return retval; #endif } template struct __nv_tex2dgather_ret { }; template <> struct __nv_tex2dgather_ret { typedef char4 type; }; template <> struct __nv_tex2dgather_ret { typedef char4 type; }; template <> struct __nv_tex2dgather_ret { typedef char4 type; }; template <> struct __nv_tex2dgather_ret { typedef char4 type; }; template <> struct __nv_tex2dgather_ret { typedef char4 type; }; template <> struct __nv_tex2dgather_ret { typedef char4 type; }; template <> struct __nv_tex2dgather_ret { typedef uchar4 type; }; template <> struct __nv_tex2dgather_ret { typedef uchar4 type; }; template <> struct __nv_tex2dgather_ret { typedef uchar4 type; }; template <> struct __nv_tex2dgather_ret { typedef uchar4 type; }; template <> struct __nv_tex2dgather_ret { typedef uchar4 type; }; template <> struct __nv_tex2dgather_ret { typedef short4 type; }; template <> struct __nv_tex2dgather_ret { typedef short4 type; }; template <> struct __nv_tex2dgather_ret { typedef short4 type; }; template <> struct __nv_tex2dgather_ret { typedef short4 type; }; template <> struct __nv_tex2dgather_ret { typedef short4 type; }; template <> struct __nv_tex2dgather_ret { typedef ushort4 type; }; template <> struct __nv_tex2dgather_ret { typedef ushort4 type; }; template <> struct __nv_tex2dgather_ret { typedef ushort4 type; }; template <> struct __nv_tex2dgather_ret { typedef ushort4 type; }; template <> struct __nv_tex2dgather_ret { typedef ushort4 type; }; template <> struct __nv_tex2dgather_ret { typedef int4 type; }; template <> struct __nv_tex2dgather_ret { typedef int4 type; }; template <> struct __nv_tex2dgather_ret { typedef int4 type; }; template <> struct __nv_tex2dgather_ret { typedef int4 type; }; template <> struct __nv_tex2dgather_ret { typedef int4 type; }; template <> struct __nv_tex2dgather_ret { typedef uint4 type; }; template <> struct __nv_tex2dgather_ret { typedef uint4 type; }; template <> struct __nv_tex2dgather_ret { typedef uint4 type; }; template <> struct __nv_tex2dgather_ret { typedef uint4 type; }; template <> struct __nv_tex2dgather_ret { typedef uint4 type; }; template <> struct __nv_tex2dgather_ret { typedef float4 type; }; template <> struct __nv_tex2dgather_ret { typedef float4 type; }; template <> struct __nv_tex2dgather_ret { typedef float4 type; }; template <> struct __nv_tex2dgather_ret { typedef float4 type; }; template <> struct __nv_tex2dgather_ret { typedef float4 type; }; template static __device__ __forceinline__ typename __nv_tex2dgather_ret::type tex2Dgather(texture t, float x, float y, int comp=0) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex2dgather_ret::type retval; __nv_tex_surf_handler("__tex2Dgather_v2", &type_dummy, &retval, t, x, y, comp); return retval; #endif } template struct __nv_tex2dgather_rmnf_ret { }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template<> struct __nv_tex2dgather_rmnf_ret { typedef float4 type; }; template static __device__ __forceinline__ typename __nv_tex2dgather_rmnf_ret::type tex2Dgather(texture t, float x, float y, int comp = 0) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex2dgather_rmnf_ret::type retval; __nv_tex_surf_handler("__tex2Dgather_rmnf_v2", &type_dummy, &retval, t, x, y, comp); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex1DLod(texture t, float x, float level) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex1DLod_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x, level); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex1DLod(texture t, float x, float level) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex1DLod_rmnf_v2", &type_dummy, &retval, t, x, level); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex2DLod(texture t, float x, float y, float level) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex2DLod_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x, y, level); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex2DLod(texture t, float x, float y, float level) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex2DLod_rmnf_v2", &type_dummy, &retval, t, x, y, level); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex1DLayeredLod(texture t, float x, int layer, float level) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex1DLayeredLod_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x, layer, level); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex1DLayeredLod(texture t, float x, int layer, float level) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex1DLayeredLod_rmnf_v2", &type_dummy, &retval, t, x, layer, level); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex2DLayeredLod(texture t, float x, float y, int layer, float level) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex2DLayeredLod_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x, y, layer, level); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex2DLayeredLod(texture t, float x, float y, int layer, float level) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex2DLayeredLod_rmnf_v2", &type_dummy, &retval, t, x, y, layer, level); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex3DLod(texture t, float x, float y, float z, float level) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex3DLod_v2",(typename __nv_tex_rmet_cast::type)&temp, t, x, y, z, level); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex3DLod(texture t, float x, float y, float z, float level) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex3DLod_rmnf_v2", &type_dummy, &retval, t, x, y, z, level); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type texCubemapLod(texture t, float x, float y, float z, float level) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__texCubemapLod_v2",(typename __nv_tex_rmet_cast::type)&temp, t, x, y, z, level); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type texCubemapLod(texture t, float x, float y, float z, float level) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__texCubemapLod_rmnf_v2", &type_dummy, &retval, t, x, y, z, level); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type texCubemapLayered(texture t, float x, float y, float z, int layer) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__texCubemapLayered_v2",(typename __nv_tex_rmet_cast::type)&temp, t, x, y, z, layer); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type texCubemapLayered(texture t, float x, float y, float z, int layer) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__texCubemapLayered_rmnf_v2", &type_dummy, &retval, t, x, y, z, layer); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type texCubemapLayeredLod(texture t, float x, float y, float z, int layer, float level) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__texCubemapLayeredLod_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x, y, z, layer, level); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type texCubemapLayeredLod(texture t, float x, float y, float z, int layer, float level) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__texCubemapLayeredLod_rmnf_v2", &type_dummy, &retval, t, x, y, z, layer, level); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type texCubemapGrad(texture t, float x, float y, float z, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__texCubemapGrad_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x, y, z, &dPdx, &dPdy); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type texCubemapGrad(texture t, float x, float y, float z, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__texCubemapGrad_rmnf_v2", &type_dummy, &retval, t, x, y, z, &dPdx, &dPdy); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type texCubemapLayeredGrad(texture t, float x, float y, float z, int layer, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__texCubemapLayeredGrad_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x, y, z, layer, &dPdx, &dPdy); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type texCubemapLayeredGrad(texture t, float x, float y, float z, int layer, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__texCubemapLayeredGrad_rmnf_v2", &type_dummy, &retval,t, x, y, z, layer, &dPdx, &dPdy); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex1DGrad(texture t, float x, float dPdx, float dPdy) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex1DGrad_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x, dPdx, dPdy); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex1DGrad(texture t, float x, float dPdx, float dPdy) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex1DGrad_rmnf_v2", &type_dummy, &retval,t, x,dPdx, dPdy); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex2DGrad(texture t, float x, float y, float2 dPdx, float2 dPdy) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex2DGrad_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x, y, &dPdx, &dPdy); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex2DGrad(texture t, float x, float y, float2 dPdx, float2 dPdy) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex2DGrad_rmnf_v2", &type_dummy, &retval,t, x, y, &dPdx, &dPdy); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex1DLayeredGrad(texture t, float x, int layer, float dPdx, float dPdy) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex1DLayeredGrad_v2",(typename __nv_tex_rmet_cast::type)&temp, t, x, layer, dPdx, dPdy); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex1DLayeredGrad(texture t, float x, int layer, float dPdx, float dPdy) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex1DLayeredGrad_rmnf_v2", &type_dummy, &retval,t, x, layer, dPdx, dPdy); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex2DLayeredGrad(texture t, float x, float y, int layer, float2 dPdx, float2 dPdy) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex2DLayeredGrad_v2",(typename __nv_tex_rmet_cast::type)&temp, t, x, y, layer, &dPdx, &dPdy); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex2DLayeredGrad(texture t, float x, float y, int layer, float2 dPdx, float2 dPdy) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex2DLayeredGrad_rmnf_v2", &type_dummy, &retval,t, x, y, layer, &dPdx, &dPdy); return retval; #endif } template static __forceinline__ __device__ typename __nv_tex_rmet_ret::type tex3DGrad(texture t, float x, float y, float z, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ typename __nv_tex_rmet_ret::type temp; __nv_tex_surf_handler("__tex3DGrad_v2", (typename __nv_tex_rmet_cast::type)&temp, t, x, y, z, &dPdx, &dPdy); return temp; #endif } template static __forceinline__ __device__ typename __nv_tex_rmnf_ret::type tex3DGrad(texture t, float x, float y, float z, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ T type_dummy; typename __nv_tex_rmnf_ret::type retval; __nv_tex_surf_handler("__tex3DGrad_rmnf_v2", &type_dummy, &retval,t, x, y, z, &dPdx, &dPdy); return retval; #endif } #endif #endif #ifndef __TEXTURE_INDIRECT_FUNCTIONS_H__ #define __TEXTURE_INDIRECT_FUNCTIONS_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif template struct __nv_itex_trait { }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; #if !defined(__LP64__) template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; #endif template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template<> struct __nv_itex_trait { typedef void type; }; template static __device__ typename __nv_itex_trait::type tex1Dfetch(T *ptr, cudaTextureObject_t obj, int x) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex1Dfetch", ptr, obj, x); #endif } template static __device__ T tex1Dfetch(cudaTextureObject_t texObject, int x) { #ifdef __CUDA_ARCH__ T ret; tex1Dfetch(&ret, texObject, x); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex1D(T *ptr, cudaTextureObject_t obj, float x) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex1D", ptr, obj, x); #endif } template static __device__ T tex1D(cudaTextureObject_t texObject, float x) { #ifdef __CUDA_ARCH__ T ret; tex1D(&ret, texObject, x); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex2D(T *ptr, cudaTextureObject_t obj, float x, float y) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex2D", ptr, obj, x, y); #endif } template static __device__ T tex2D(cudaTextureObject_t texObject, float x, float y) { #ifdef __CUDA_ARCH__ T ret; tex2D(&ret, texObject, x, y); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex3D(T *ptr, cudaTextureObject_t obj, float x, float y, float z) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex3D", ptr, obj, x, y, z); #endif } template static __device__ T tex3D(cudaTextureObject_t texObject, float x, float y, float z) { #ifdef __CUDA_ARCH__ T ret; tex3D(&ret, texObject, x, y, z); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex1DLayered(T *ptr, cudaTextureObject_t obj, float x, int layer) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex1DLayered", ptr, obj, x, layer); #endif } template static __device__ T tex1DLayered(cudaTextureObject_t texObject, float x, int layer) { #ifdef __CUDA_ARCH__ T ret; tex1DLayered(&ret, texObject, x, layer); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex2DLayered(T *ptr, cudaTextureObject_t obj, float x, float y, int layer) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex2DLayered", ptr, obj, x, y, layer); #endif } template static __device__ T tex2DLayered(cudaTextureObject_t texObject, float x, float y, int layer) { #ifdef __CUDA_ARCH__ T ret; tex2DLayered(&ret, texObject, x, y, layer); return ret; #endif } template static __device__ typename __nv_itex_trait::type texCubemap(T *ptr, cudaTextureObject_t obj, float x, float y, float z) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itexCubemap", ptr, obj, x, y, z); #endif } template static __device__ T texCubemap(cudaTextureObject_t texObject, float x, float y, float z) { #ifdef __CUDA_ARCH__ T ret; texCubemap(&ret, texObject, x, y, z); return ret; #endif } template static __device__ typename __nv_itex_trait::type texCubemapLayered(T *ptr, cudaTextureObject_t obj, float x, float y, float z, int layer) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itexCubemapLayered", ptr, obj, x, y, z, layer); #endif } template static __device__ T texCubemapLayered(cudaTextureObject_t texObject, float x, float y, float z, int layer) { #ifdef __CUDA_ARCH__ T ret; texCubemapLayered(&ret, texObject, x, y, z, layer); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex2Dgather(T *ptr, cudaTextureObject_t obj, float x, float y, int comp = 0) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex2Dgather", ptr, obj, x, y, comp); #endif } template static __device__ T tex2Dgather(cudaTextureObject_t to, float x, float y, int comp = 0) { #ifdef __CUDA_ARCH__ T ret; tex2Dgather(&ret, to, x, y, comp); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex1DLod(T *ptr, cudaTextureObject_t obj, float x, float level) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex1DLod", ptr, obj, x, level); #endif } template static __device__ T tex1DLod(cudaTextureObject_t texObject, float x, float level) { #ifdef __CUDA_ARCH__ T ret; tex1DLod(&ret, texObject, x, level); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex2DLod(T *ptr, cudaTextureObject_t obj, float x, float y, float level) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex2DLod", ptr, obj, x, y, level); #endif } template static __device__ T tex2DLod(cudaTextureObject_t texObject, float x, float y, float level) { #ifdef __CUDA_ARCH__ T ret; tex2DLod(&ret, texObject, x, y, level); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex3DLod(T *ptr, cudaTextureObject_t obj, float x, float y, float z, float level) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex3DLod", ptr, obj, x, y, z, level); #endif } template static __device__ T tex3DLod(cudaTextureObject_t texObject, float x, float y, float z, float level) { #ifdef __CUDA_ARCH__ T ret; tex3DLod(&ret, texObject, x, y, z, level); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex1DLayeredLod(T *ptr, cudaTextureObject_t obj, float x, int layer, float level) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex1DLayeredLod", ptr, obj, x, layer, level); #endif } template static __device__ T tex1DLayeredLod(cudaTextureObject_t texObject, float x, int layer, float level) { #ifdef __CUDA_ARCH__ T ret; tex1DLayeredLod(&ret, texObject, x, layer, level); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex2DLayeredLod(T *ptr, cudaTextureObject_t obj, float x, float y, int layer, float level) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex2DLayeredLod", ptr, obj, x, y, layer, level); #endif } template static __device__ T tex2DLayeredLod(cudaTextureObject_t texObject, float x, float y, int layer, float level) { #ifdef __CUDA_ARCH__ T ret; tex2DLayeredLod(&ret, texObject, x, y, layer, level); return ret; #endif } template static __device__ typename __nv_itex_trait::type texCubemapLod(T *ptr, cudaTextureObject_t obj, float x, float y, float z, float level) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itexCubemapLod", ptr, obj, x, y, z, level); #endif } template static __device__ T texCubemapLod(cudaTextureObject_t texObject, float x, float y, float z, float level) { #ifdef __CUDA_ARCH__ T ret; texCubemapLod(&ret, texObject, x, y, z, level); return ret; #endif } template static __device__ typename __nv_itex_trait::type texCubemapGrad(T *ptr, cudaTextureObject_t obj, float x, float y, float z, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itexCubemapGrad_v2", ptr, obj, x, y, z, &dPdx, &dPdy); #endif } template static __device__ T texCubemapGrad(cudaTextureObject_t texObject, float x, float y, float z, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ T ret; texCubemapGrad(&ret, texObject, x, y, z, dPdx, dPdy); return ret; #endif } template static __device__ typename __nv_itex_trait::type texCubemapLayeredLod(T *ptr, cudaTextureObject_t obj, float x, float y, float z, int layer, float level) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itexCubemapLayeredLod", ptr, obj, x, y, z, layer, level); #endif } template static __device__ T texCubemapLayeredLod(cudaTextureObject_t texObject, float x, float y, float z, int layer, float level) { #ifdef __CUDA_ARCH__ T ret; texCubemapLayeredLod(&ret, texObject, x, y, z, layer, level); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex1DGrad(T *ptr, cudaTextureObject_t obj, float x, float dPdx, float dPdy) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex1DGrad", ptr, obj, x, dPdx, dPdy); #endif } template static __device__ T tex1DGrad(cudaTextureObject_t texObject, float x, float dPdx, float dPdy) { #ifdef __CUDA_ARCH__ T ret; tex1DGrad(&ret, texObject, x, dPdx, dPdy); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex2DGrad(T *ptr, cudaTextureObject_t obj, float x, float y, float2 dPdx, float2 dPdy) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex2DGrad_v2", ptr, obj, x, y, &dPdx, &dPdy); #endif } template static __device__ T tex2DGrad(cudaTextureObject_t texObject, float x, float y, float2 dPdx, float2 dPdy) { #ifdef __CUDA_ARCH__ T ret; tex2DGrad(&ret, texObject, x, y, dPdx, dPdy); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex3DGrad(T *ptr, cudaTextureObject_t obj, float x, float y, float z, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex3DGrad_v2", ptr, obj, x, y, z, &dPdx, &dPdy); #endif } template static __device__ T tex3DGrad(cudaTextureObject_t texObject, float x, float y, float z, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ T ret; tex3DGrad(&ret, texObject, x, y, z, dPdx, dPdy); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex1DLayeredGrad(T *ptr, cudaTextureObject_t obj, float x, int layer, float dPdx, float dPdy) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex1DLayeredGrad", ptr, obj, x, layer, dPdx, dPdy); #endif } template static __device__ T tex1DLayeredGrad(cudaTextureObject_t texObject, float x, int layer, float dPdx, float dPdy) { #ifdef __CUDA_ARCH__ T ret; tex1DLayeredGrad(&ret, texObject, x, layer, dPdx, dPdy); return ret; #endif } template static __device__ typename __nv_itex_trait::type tex2DLayeredGrad(T * ptr, cudaTextureObject_t obj, float x, float y, int layer, float2 dPdx, float2 dPdy) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itex2DLayeredGrad_v2", ptr, obj, x, y, layer, &dPdx, &dPdy); #endif } template static __device__ T tex2DLayeredGrad(cudaTextureObject_t texObject, float x, float y, int layer, float2 dPdx, float2 dPdy) { #ifdef __CUDA_ARCH__ T ret; tex2DLayeredGrad(&ret, texObject, x, y, layer, dPdx, dPdy); return ret; #endif } template static __device__ typename __nv_itex_trait::type texCubemapLayeredGrad(T *ptr, cudaTextureObject_t obj, float x, float y, float z, int layer, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__itexCubemapLayeredGrad_v2", ptr, obj, x, y, z, layer, &dPdx, &dPdy); #endif } template static __device__ T texCubemapLayeredGrad(cudaTextureObject_t texObject, float x, float y, float z, int layer, float4 dPdx, float4 dPdy) { #ifdef __CUDA_ARCH__ T ret; texCubemapLayeredGrad(&ret, texObject, x, y, z, layer, dPdx, dPdy); return ret; #endif } #endif #endif #ifndef __SURFACE_INDIRECT_FUNCTIONS_H__ #define __SURFACE_INDIRECT_FUNCTIONS_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif template struct __nv_isurf_trait { }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template<> struct __nv_isurf_trait { typedef void type; }; template static __device__ typename __nv_isurf_trait::type surf1Dread(T *ptr, cudaSurfaceObject_t obj, int x, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurf1Dread", ptr, obj, x, mode); #endif } template static __device__ T surf1Dread(cudaSurfaceObject_t surfObject, int x, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T ret; surf1Dread(&ret, surfObject, x, boundaryMode); return ret; #endif } template static __device__ typename __nv_isurf_trait::type surf2Dread(T *ptr, cudaSurfaceObject_t obj, int x, int y, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurf2Dread", ptr, obj, x, y, mode); #endif } template static __device__ T surf2Dread(cudaSurfaceObject_t surfObject, int x, int y, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T ret; surf2Dread(&ret, surfObject, x, y, boundaryMode); return ret; #endif } template static __device__ typename __nv_isurf_trait::type surf3Dread(T *ptr, cudaSurfaceObject_t obj, int x, int y, int z, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurf3Dread", ptr, obj, x, y, z, mode); #endif } template static __device__ T surf3Dread(cudaSurfaceObject_t surfObject, int x, int y, int z, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T ret; surf3Dread(&ret, surfObject, x, y, z, boundaryMode); return ret; #endif } template static __device__ typename __nv_isurf_trait::type surf1DLayeredread(T *ptr, cudaSurfaceObject_t obj, int x, int layer, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurf1DLayeredread", ptr, obj, x, layer, mode); #endif } template static __device__ T surf1DLayeredread(cudaSurfaceObject_t surfObject, int x, int layer, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T ret; surf1DLayeredread(&ret, surfObject, x, layer, boundaryMode); return ret; #endif } template static __device__ typename __nv_isurf_trait::type surf2DLayeredread(T *ptr, cudaSurfaceObject_t obj, int x, int y, int layer, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurf2DLayeredread", ptr, obj, x, y, layer, mode); #endif } template static __device__ T surf2DLayeredread(cudaSurfaceObject_t surfObject, int x, int y, int layer, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T ret; surf2DLayeredread(&ret, surfObject, x, y, layer, boundaryMode); return ret; #endif } template static __device__ typename __nv_isurf_trait::type surfCubemapread(T *ptr, cudaSurfaceObject_t obj, int x, int y, int face, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurfCubemapread", ptr, obj, x, y, face, mode); #endif } template static __device__ T surfCubemapread(cudaSurfaceObject_t surfObject, int x, int y, int face, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T ret; surfCubemapread(&ret, surfObject, x, y, face, boundaryMode); return ret; #endif } template static __device__ typename __nv_isurf_trait::type surfCubemapLayeredread(T *ptr, cudaSurfaceObject_t obj, int x, int y, int layerface, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurfCubemapLayeredread", ptr, obj, x, y, layerface, mode); #endif } template static __device__ T surfCubemapLayeredread(cudaSurfaceObject_t surfObject, int x, int y, int layerface, cudaSurfaceBoundaryMode boundaryMode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ T ret; surfCubemapLayeredread(&ret, surfObject, x, y, layerface, boundaryMode); return ret; #endif } template static __device__ typename __nv_isurf_trait::type surf1Dwrite(T val, cudaSurfaceObject_t obj, int x, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurf1Dwrite_v2", &val, obj, x, mode); #endif } template static __device__ typename __nv_isurf_trait::type surf2Dwrite(T val, cudaSurfaceObject_t obj, int x, int y, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurf2Dwrite_v2", &val, obj, x, y, mode); #endif } template static __device__ typename __nv_isurf_trait::type surf3Dwrite(T val, cudaSurfaceObject_t obj, int x, int y, int z, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurf3Dwrite_v2", &val, obj, x, y, z, mode); #endif } template static __device__ typename __nv_isurf_trait::type surf1DLayeredwrite(T val, cudaSurfaceObject_t obj, int x, int layer, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurf1DLayeredwrite_v2", &val, obj, x, layer, mode); #endif } template static __device__ typename __nv_isurf_trait::type surf2DLayeredwrite(T val, cudaSurfaceObject_t obj, int x, int y, int layer, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurf2DLayeredwrite_v2", &val, obj, x, y, layer, mode); #endif } template static __device__ typename __nv_isurf_trait::type surfCubemapwrite(T val, cudaSurfaceObject_t obj, int x, int y, int face, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurfCubemapwrite_v2", &val, obj, x, y, face, mode); #endif } template static __device__ typename __nv_isurf_trait::type surfCubemapLayeredwrite(T val, cudaSurfaceObject_t obj, int x, int y, int layerface, cudaSurfaceBoundaryMode mode = cudaBoundaryModeTrap) { #ifdef __CUDA_ARCH__ __nv_tex_surf_handler("__isurfCubemapLayeredwrite_v2", &val, obj, x, y, layerface, mode); #endif } #endif #endif #ifdef __CUDACC__ extern "C" __host__ __device__ unsigned CUDARTAPI __cudaPushCallConfiguration(dim3 gridDim, dim3 blockDim, size_t sharedMem = 0, struct CUstream_st *stream = 0); #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_FUNCTIONS_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_FUNCTIONS_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/common_functions.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/common_functions.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_COMMON_FUNCTIONS_H__ #endif #if !defined(__COMMON_FUNCTIONS_H__) #define __COMMON_FUNCTIONS_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead." #if !defined(__CUDACC_RTC__) #include #include extern "C" { #endif extern _CRTIMP __host__ __device__ __device_builtin__ __cudart_builtin__ clock_t __cdecl clock(void) #if defined(__QNX__) asm("clock32") #endif __THROW; extern __host__ __device__ __device_builtin__ __cudart_builtin__ void* __cdecl memset(void*, int, size_t) __THROW; extern __host__ __device__ __device_builtin__ __cudart_builtin__ void* __cdecl memcpy(void*, const void*, size_t) __THROW; #if !defined(__CUDACC_RTC__) } #endif #if defined(__CUDA_ARCH__) #if defined(__CUDACC_RTC__) inline __host__ __device__ void* operator new(size_t, void *p) { return p; } inline __host__ __device__ void* operator new[](size_t, void *p) { return p; } inline __host__ __device__ void operator delete(void*, void*) { } inline __host__ __device__ void operator delete[](void*, void*) { } #else #ifndef __CUDA_INTERNAL_SKIP_CPP_HEADERS__ #include #endif #if defined (__GNUC__) #define STD \ std:: #else #define STD #endif extern __host__ __device__ __cudart_builtin__ void* __cdecl operator new(STD size_t, void*) throw(); extern __host__ __device__ __cudart_builtin__ void* __cdecl operator new[](STD size_t, void*) throw(); extern __host__ __device__ __cudart_builtin__ void __cdecl operator delete(void*, void*) throw(); extern __host__ __device__ __cudart_builtin__ void __cdecl operator delete[](void*, void*) throw(); # if __cplusplus >= 201402L || (defined(_MSC_VER) && _MSC_VER >= 1900) || defined(__CUDA_XLC_CPP14__) || defined(__CUDA_ICC_CPP14__) extern __host__ __device__ __cudart_builtin__ void __cdecl operator delete(void*, STD size_t) throw(); extern __host__ __device__ __cudart_builtin__ void __cdecl operator delete[](void*, STD size_t) throw(); #endif #endif #if !defined(__CUDACC_RTC__) #include #include #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern "C" { extern #if !defined(_MSC_VER) || _MSC_VER < 1900 _CRTIMP #endif #if defined(__GLIBC__) && defined(__GLIBC_MINOR__) && ( (__GLIBC__ < 2) || ( (__GLIBC__ == 2) && (__GLIBC_MINOR__ < 3) ) ) __host__ __device__ __device_builtin__ __cudart_builtin__ int __cdecl printf(const char*, ...) __THROW; #else __host__ __device__ __device_builtin__ __cudart_builtin__ int __cdecl printf(const char*, ...); #endif extern _CRTIMP __host__ __device__ __cudart_builtin__ void* __cdecl malloc(size_t) __THROW; extern _CRTIMP __host__ __device__ __cudart_builtin__ void __cdecl free(void*) __THROW; } #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif #if !defined(__CUDACC_RTC__) #include #endif extern "C" { #if defined(__CUDACC_RTC__) extern __host__ __device__ void __assertfail(const char * __assertion, const char *__file, unsigned int __line, const char *__function, size_t charsize); #elif defined(__APPLE__) #define __builtin_expect(exp,c) (exp) extern __host__ __device__ __cudart_builtin__ void __assert_rtn( const char *, const char *, int, const char *); #elif defined(__ANDROID__) extern __host__ __device__ __cudart_builtin__ void __assert2( const char *, int, const char *, const char *); #elif defined(__QNX__) #if !defined(_LIBCPP_VERSION) namespace std { #endif extern __host__ __device__ __cudart_builtin__ void __assert( const char *, const char *, unsigned int, const char *); #if !defined(_LIBCPP_VERSION) } #endif #elif defined(__HORIZON__) extern __host__ __device__ __cudart_builtin__ void __assert_fail( const char *, const char *, int, const char *); #elif defined(__GNUC__) extern __host__ __device__ __cudart_builtin__ void __assert_fail( const char *, const char *, unsigned int, const char *) __THROW; #elif defined(_WIN32) extern __host__ __device__ __cudart_builtin__ _CRTIMP void __cdecl _wassert( const wchar_t *, const wchar_t *, unsigned); #endif } #if defined(__CUDACC_RTC__) #ifdef NDEBUG #define assert(e) (static_cast(0)) #else #define __ASSERT_STR_HELPER(x) #x #define assert(e) ((e) ? static_cast(0)\ : __assertfail(__ASSERT_STR_HELPER(e), __FILE__,\ __LINE__, __PRETTY_FUNCTION__,\ sizeof(char))) #endif inline __host__ __device__ void* operator new(size_t in) { return malloc(in); } inline __host__ __device__ void* operator new[](size_t in) { return malloc(in); } inline __host__ __device__ void operator delete(void* in) { return free(in); } inline __host__ __device__ void operator delete[](void* in) { return free(in); } # if __cplusplus >= 201402L || defined(__CUDA_XLC_CPP14__) inline __host__ __device__ void operator delete(void* in, size_t) { return free(in); } inline __host__ __device__ void operator delete[](void* in, size_t) { return free(in); } #endif #else #if defined (__GNUC__) #define __NV_GLIBCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) # if (__cplusplus >= 201103L) && !(defined(__QNX__) && defined(_LIBCPP_VERSION)) #define THROWBADALLOC #else #if defined(__ANDROID__) && !defined(_LIBCPP_VERSION) && (defined(__BIONIC__) || __NV_GLIBCXX_VERSION < 40900) #define THROWBADALLOC #else #define THROWBADALLOC throw(STD bad_alloc) #endif #endif #define __DELETE_THROW throw() #undef __NV_GLIBCXX_VERSION #else #define THROWBADALLOC throw(...) #endif extern __host__ __device__ __cudart_builtin__ void* __cdecl operator new(STD size_t) THROWBADALLOC; extern __host__ __device__ __cudart_builtin__ void* __cdecl operator new[](STD size_t) THROWBADALLOC; extern __host__ __device__ __cudart_builtin__ void __cdecl operator delete(void*) throw(); extern __host__ __device__ __cudart_builtin__ void __cdecl operator delete[](void*) throw(); # if __cplusplus >= 201402L || (defined(_MSC_VER) && _MSC_VER >= 1900) || defined(__CUDA_XLC_CPP14__) || defined(__CUDA_ICC_CPP14__) extern __host__ __device__ __cudart_builtin__ void __cdecl operator delete(void*, STD size_t) throw(); extern __host__ __device__ __cudart_builtin__ void __cdecl operator delete[](void*, STD size_t) throw(); #endif #undef THROWBADALLOC #undef STD #endif #endif #endif #if defined(__CUDACC_RTC__) && (__CUDA_ARCH__ >= 350) #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/math_functions.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/math_functions.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_MATH_FUNCTIONS_H__ #endif #if !defined(__MATH_FUNCTIONS_H__) #define __MATH_FUNCTIONS_H__ #if defined(__QNX__) && (__GNUC__ >= 5) && defined(__CUDACC__) #if __has_include(<__config>) #include <__config> #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { #define __DEVICE_FUNCTIONS_DECL__ __host__ __device__ #if !defined(_MSC_VER) #define __CUDA_MATH_CRTIMP #else #if _MSC_VER < 1900 #define __CUDA_MATH_CRTIMP _CRTIMP #else #define __CUDA_MATH_CRTIMP _ACRTIMP #endif #endif #if defined(__ANDROID__) && (__ANDROID_API__ <= 20) && !defined(__aarch64__) static __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ int abs(int); static __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ long int labs(long int); static __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ long long int llabs(long long int); #else #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ int __cdecl abs(int) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ long int __cdecl labs(long int) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __cudart_builtin__ long long int llabs(long long int) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl fabs(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float fabsf(float x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int min(int, int); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int umin(unsigned int, unsigned int); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int llmin(long long int, long long int); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned long long int ullmin(unsigned long long int, unsigned long long int); #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float fminf(float x, float y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl fminf(float x, float y); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double fmin(double x, double y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl fmin(double x, double y); #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int max(int, int); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned int umax(unsigned int, unsigned int); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int llmax(long long int, long long int); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ unsigned long long int ullmax(unsigned long long int, unsigned long long int); #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float fmaxf(float x, float y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl fmaxf(float x, float y); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double fmax(double, double) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl fmax(double, double); #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl sin(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl cos(double x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ void sincos(double x, double *sptr, double *cptr) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ void sincosf(float x, float *sptr, float *cptr) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl tan(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl sqrt(double x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double rsqrt(double x); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rsqrtf(float x); #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double log2(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl log2(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double exp2(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl exp2(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float exp2f(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl exp2f(float x); #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double exp10(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float exp10f(float x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double expm1(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl expm1(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float expm1f(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl expm1f(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float log2f(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl log2f(float x); #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl log10(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl log(double x) __THROW; #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double log1p(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl log1p(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float log1pf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl log1pf(float x); #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl floor(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl exp(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl cosh(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl sinh(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl tanh(double x) __THROW; #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double acosh(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl acosh(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float acoshf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl acoshf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double asinh(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl asinh(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float asinhf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl asinhf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double atanh(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl atanh(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float atanhf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl atanhf(float x); #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl ldexp(double x, int exp) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float ldexpf(float x, int exp) __THROW; #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double logb(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl logb(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float logbf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl logbf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int ilogb(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP int __cdecl ilogb(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int ilogbf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP int __cdecl ilogbf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double scalbn(double x, int n) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl scalbn(double x, int n); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float scalbnf(float x, int n) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl scalbnf(float x, int n); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double scalbln(double x, long int n) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl scalbln(double x, long int n); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float scalblnf(float x, long int n) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl scalblnf(float x, long int n); #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl frexp(double x, int *nptr) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float frexpf(float x, int *nptr) __THROW; #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double round(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl round(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float roundf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl roundf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long int lround(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long int __cdecl lround(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long int lroundf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long int __cdecl lroundf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int llround(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long long int __cdecl llround(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int llroundf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long long int __cdecl llroundf(float x); #endif #if defined(__CUDA_ARCH__) || defined(__DOXYGEN_ONLY__) #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double rint(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl rint(double x); #endif #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rintf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl rintf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long int lrint(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long int __cdecl lrint(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long int lrintf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long int __cdecl lrintf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int llrint(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long long int __cdecl llrint(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ long long int llrintf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP long long int __cdecl llrintf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double nearbyint(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl nearbyint(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float nearbyintf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl nearbyintf(float x); #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl ceil(double x) __THROW; #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double trunc(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl trunc(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float truncf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl truncf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double fdim(double x, double y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl fdim(double x, double y); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float fdimf(float x, float y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl fdimf(float x, float y); #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl atan2(double y, double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl atan(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl acos(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl asin(double x) __THROW; #if defined(_WIN32) #if defined(_MSC_VER) && _MSC_VER < 1900 static __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __CRTDECL hypot(double x, double y); #else extern _ACRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl hypot(double x, double y); #endif #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double hypot(double x, double y) __THROW; #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double rhypot(double x, double y) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif #if defined(_WIN32) static __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __CRTDECL hypotf(float x, float y); #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float hypotf(float x, float y) __THROW; #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rhypotf(float x, float y) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl norm3d(double a, double b, double c) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double rnorm3d(double a, double b, double c) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl norm4d(double a, double b, double c, double d) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double rnorm4d(double a, double b, double c, double d) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double norm(int dim, double const * t) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double rnorm(int dim, double const * t) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rnormf(int dim, float const * a) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float normf(int dim, float const * a) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float norm3df(float a, float b, float c) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rnorm3df(float a, float b, float c) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float norm4df(float a, float b, float c, float d) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rnorm4df(float a, float b, float c, float d) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double cbrt(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl cbrt(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cbrtf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl cbrtf(float x); #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double rcbrt(double x); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rcbrtf(float x); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double sinpi(double x); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinpif(float x); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double cospi(double x); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cospif(float x); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ void sincospi(double x, double *sptr, double *cptr); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ void sincospif(float x, float *sptr, float *cptr); #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl pow(double x, double y) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl modf(double x, double *iptr) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double __cdecl fmod(double x, double y) __THROW; #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double remainder(double x, double y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl remainder(double x, double y); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float remainderf(float x, float y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl remainderf(float x, float y); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double remquo(double x, double y, int *quo) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl remquo(double x, double y, int *quo); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float remquof(float x, float y, int *quo) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl remquof(float x, float y, int *quo); #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl j0(double x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float j0f(float x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl j1(double x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float j1f(float x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl jn(int n, double x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float jnf(int n, float x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl y0(double x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float y0f(float x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl y1(double x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float y1f(float x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl yn(int n, double x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float ynf(int n, float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl cyl_bessel_i0(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cyl_bessel_i0f(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl cyl_bessel_i1(double x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cyl_bessel_i1f(float x) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double erf(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl erf(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float erff(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl erff(float x); #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double erfinv(double y); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float erfinvf(float y); #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double erfc(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl erfc(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float erfcf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl erfcf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double lgamma(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl lgamma(double x); #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double erfcinv(double y); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float erfcinvf(float y); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double normcdfinv(double y); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float normcdfinvf(float y); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double normcdf(double y); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float normcdff(float y); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double erfcx(double x); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float erfcxf(float x); #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float lgammaf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl lgammaf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double tgamma(double x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl tgamma(double x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float tgammaf(float x) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl tgammaf(float x); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double copysign(double x, double y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl copysign(double x, double y); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float copysignf(float x, float y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl copysignf(float x, float y); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double nextafter(double x, double y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl nextafter(double x, double y); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float nextafterf(float x, float y) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl nextafterf(float x, float y); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double nan(const char *tagp) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl nan(const char *tagp); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float nanf(const char *tagp) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl nanf(const char *tagp); #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isinff(float) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isnanf(float) __THROW; #if defined(__APPLE__) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isfinited(double) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isfinitef(float) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __signbitd(double) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isnand(double) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isinfd(double) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __finite(double) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __finitef(float) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __signbit(double) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isnan(double) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isinf(double) __THROW; #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __signbitf(float) __THROW; #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double fma(double x, double y, double z) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP double __cdecl fma(double x, double y, double z); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float fmaf(float x, float y, float z) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ __CUDA_MATH_CRTIMP float __cdecl fmaf(float x, float y, float z); #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __signbitl(long double) __THROW; #if defined(__APPLE__) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isfinite(long double) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isinf(long double) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isnan(long double) __THROW; #else extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __finitel(long double) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isinfl(long double) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int __isnanl(long double) __THROW; #endif #if defined(_WIN32) && defined(_M_AMD64) extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl acosf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl asinf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl atanf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl atan2f(float, float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl cosf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl sinf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl tanf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl coshf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl sinhf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl tanhf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl expf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl logf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl log10f(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl modff(float, float*) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl powf(float, float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl sqrtf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl ceilf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl floorf(float) __THROW; extern __CUDA_MATH_CRTIMP __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float __cdecl fmodf(float, float) __THROW; #else #if defined(__QNX__) && !defined(_LIBCPP_VERSION) namespace std { #endif extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float acosf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float asinf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float atanf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float atan2f(float y, float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cosf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float tanf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float coshf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinhf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float tanhf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float logf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float expf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float log10f(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float modff(float x, float *iptr) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float powf(float x, float y) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sqrtf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float ceilf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float floorf(float x) __THROW; extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float fmodf(float x, float y) __THROW; #if defined(__QNX__) extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float _FLog(float, int); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float _FCosh(float, float); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float _FSinh(float, float); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float _FSinx(float, unsigned int, int); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int _FDsign(float); extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ int _Dsign(double); #endif #if defined(__QNX__) && !defined(_LIBCPP_VERSION) } #endif #endif } #if !defined(__CUDACC_RTC__) #include #include #ifndef __CUDA_INTERNAL_SKIP_CPP_HEADERS__ #include #include #endif #endif #if defined(__CUDACC_RTC__) __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int signbit(float x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int signbit(double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int signbit(long double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isfinite(float x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isfinite(double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isfinite(long double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(float x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(long double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(float x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(long double x); #elif defined(__GNUC__) #undef signbit #undef isfinite #undef isnan #undef isinf #if defined(__APPLE__) __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int signbit(float x); __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int signbit(double x); __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int signbit(long double x); __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isfinite(float x); __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isfinite(double x); __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isfinite(long double x); __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(double x) throw(); #if !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 7000 __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(float x); __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(long double x); #else template __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool __libcpp_isnan(T) _NOEXCEPT; inline _LIBCPP_INLINE_VISIBILITY __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool isnan(float x) _NOEXCEPT; inline _LIBCPP_INLINE_VISIBILITY __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool isnan(long double x) _NOEXCEPT; #endif __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(double x) throw(); #if !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 7000 __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(float x); __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(long double x); #else template __cudart_builtin__ __DEVICE_FUNCTIONS_DECL__ bool __libcpp_isinf(T) _NOEXCEPT; inline _LIBCPP_INLINE_VISIBILITY __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool isinf(float x) _NOEXCEPT; inline _LIBCPP_INLINE_VISIBILITY __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool isinf(long double x) _NOEXCEPT; #endif #else #if _GLIBCXX_MATH_H && __cplusplus >= 201103L namespace std { __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool signbit(float x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool signbit(double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool signbit(long double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool isfinite(float x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool isfinite(double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool isfinite(long double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool isnan(float x); #if _GLIBCXX_HAVE_OBSOLETE_ISNAN && !_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(double x) throw(); #else __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool isnan(double x); #endif __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool isnan(long double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool isinf(float x); #if _GLIBCXX_HAVE_OBSOLETE_ISINF && !_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(double x) throw(); #else __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool isinf(double x); #endif __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ constexpr bool isinf(long double x); } #else #if defined(__QNX__) || defined(__HORIZON__) #if (__QNX__) && !defined(_LIBCPP_VERSION) namespace std { __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool signbit(float x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool signbit(double x); __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool signbit(long double x); } #else static __inline__ __DEVICE_FUNCTIONS_DECL__ bool signbit(float x); static __inline__ __DEVICE_FUNCTIONS_DECL__ bool signbit(double x); static __inline__ __DEVICE_FUNCTIONS_DECL__ bool signbit(long double x); #endif static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isfinite(float a); static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isfinite(double a); static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isfinite(long double a); static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isnan(float a); static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isnan(double a); static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isnan(long double a); static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isinf(float a); static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isinf(double a); static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isinf(long double a); #else __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int signbit(float x); #if defined(__ICC) __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int signbit(double x) throw(); #else __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int signbit(double x); #endif __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int signbit(long double x); __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isfinite(float x); #if defined(__ICC) __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isfinite(double x) throw(); #else __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isfinite(double x); #endif __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isfinite(long double x); #if defined(__ANDROID__) && _LIBCPP_VERSION >= 8000 template __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool __libcpp_isnan(T) _NOEXCEPT; inline _LIBCPP_INLINE_VISIBILITY __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool isnan(float x) _NOEXCEPT; #else __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(float x); #endif #if defined(__ANDROID__) #if !defined(_LIBCPP_VERSION) __forceinline__ #endif __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(double x); #else __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(double x) throw(); #endif #if defined(__ANDROID__) && _LIBCPP_VERSION >= 8000 inline _LIBCPP_INLINE_VISIBILITY __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool isnan(long double x) _NOEXCEPT; #else __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isnan(long double x); #endif #if defined(__ANDROID__) && _LIBCPP_VERSION >= 8000 template __cudart_builtin__ __DEVICE_FUNCTIONS_DECL__ bool __libcpp_isinf(T) _NOEXCEPT; inline _LIBCPP_INLINE_VISIBILITY __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool isinf(float x) _NOEXCEPT; #else __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(float x); #endif #if defined(__ANDROID__) #if !defined(_LIBCPP_VERSION) __forceinline__ #endif __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(double x); #else __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(double x) throw(); #endif #if defined(__ANDROID__) && _LIBCPP_VERSION >= 8000 inline _LIBCPP_INLINE_VISIBILITY __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool isinf(long double x) _NOEXCEPT; #else __forceinline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ int isinf(long double x); #endif #endif #endif #endif #if !defined(_LIBCPP_VERSION) #if defined(__clang__) #if __has_include() #define __NV_GLIBCXX_VERSION 40800 #endif #endif #if !defined(__NV_GLIBCXX_VERSION) #define __NV_GLIBCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #endif #endif #if !defined(__HORIZON__) || !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 3800 #if defined(__arm__) && !defined(_STLPORT_VERSION) && !_GLIBCXX_USE_C99 #if !defined(__ANDROID__) || (defined(__NV_GLIBCXX_VERSION) && __NV_GLIBCXX_VERSION < 40800) #if defined(__QNX__) namespace std { __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ long long int abs (long long int a); } #elif defined(__HORIZON__) #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif _LIBCPP_BEGIN_NAMESPACE_STD __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ long long int abs (long long int a) throw(); _LIBCPP_END_NAMESPACE_STD #else static __inline__ __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ long long int abs(long long int a); #endif #endif #endif #endif #if defined(__NV_GLIBCXX_VERSION) && __NV_GLIBCXX_VERSION < 40800 && !defined(__ibmxl__) #if !defined(_STLPORT_VERSION) namespace __gnu_cxx { #endif extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ long long int abs(long long int a); #if !defined(_STLPORT_VERSION) } #endif #endif namespace std { template extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ T __pow_helper(T, int); template extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ T __cmath_power(T, unsigned int); } using std::abs; using std::fabs; using std::ceil; using std::floor; using std::sqrt; #if !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 3800 using std::pow; #endif using std::log; using std::log10; using std::fmod; using std::modf; using std::exp; using std::frexp; using std::ldexp; using std::asin; using std::sin; using std::sinh; using std::acos; using std::cos; using std::cosh; using std::atan; using std::atan2; using std::tan; using std::tanh; #elif defined(_WIN32) extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ __CUDA_MATH_CRTIMP double __cdecl _hypot(double x, double y); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ __CUDA_MATH_CRTIMP float __cdecl _hypotf(float x, float y); #if (!defined(_MSC_VER) || _MSC_VER < 1800) static __inline__ __DEVICE_FUNCTIONS_DECL__ int signbit(long double a); #else #if _MSC_VER >= 1900 #define __SIGNBIT_THROW throw() #else #define __SIGNBIT_THROW #endif extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ bool signbit(long double) __SIGNBIT_THROW; extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ __device_builtin__ __CUDA_MATH_CRTIMP int _ldsign(long double); #undef __SIGNBIT_THROW #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) #define __RETURN_TYPE int static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE signbit(double a); #undef __RETURN_TYPE #else #define __RETURN_TYPE bool #if _MSC_VER >= 1900 #define __SIGNBIT_THROW throw() #else #define __SIGNBIT_THROW #endif extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ __RETURN_TYPE signbit(double) __SIGNBIT_THROW; extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ __device_builtin__ __CUDA_MATH_CRTIMP int _dsign(double); #undef __RETURN_TYPE #undef __SIGNBIT_THROW #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) #define __RETURN_TYPE int static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE signbit(float a); #undef __RETURN_TYPE #else #define __RETURN_TYPE bool #if _MSC_VER >= 1900 #define __SIGNBIT_THROW throw() #else #define __SIGNBIT_THROW #endif extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ __RETURN_TYPE signbit(float) __SIGNBIT_THROW; extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ __device_builtin__ __CUDA_MATH_CRTIMP int _fdsign(float); #undef __RETURN_TYPE #undef __SIGNBIT_THROW #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) static __inline__ __DEVICE_FUNCTIONS_DECL__ int isinf(long double a); #else static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isinf(long double a); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) #define __RETURN_TYPE int static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isinf(double a); #undef __RETURN_TYPE #else #define __RETURN_TYPE bool static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isinf(double a); #undef __RETURN_TYPE #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) #define __RETURN_TYPE int static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isinf(float a); #undef __RETURN_TYPE #else #define __RETURN_TYPE bool static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isinf(float a); #undef __RETURN_TYPE #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) static __inline__ __DEVICE_FUNCTIONS_DECL__ int isnan(long double a); #else static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isnan(long double a); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) #define __RETURN_TYPE int static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isnan(double a); #undef __RETURN_TYPE #else #define __RETURN_TYPE bool static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isnan(double a); #undef __RETURN_TYPE #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) #define __RETURN_TYPE int static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isnan(float a); #undef __RETURN_TYPE #else #define __RETURN_TYPE bool static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isnan(float a); #undef __RETURN_TYPE #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) static __inline__ __DEVICE_FUNCTIONS_DECL__ int isfinite(long double a); #else static __inline__ __DEVICE_FUNCTIONS_DECL__ bool isfinite(long double a); #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) #define __RETURN_TYPE int static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isfinite(double a); #undef __RETURN_TYPE #else #define __RETURN_TYPE bool static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isfinite(double a); #undef __RETURN_TYPE #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) #define __RETURN_TYPE int static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isfinite(float a); #undef __RETURN_TYPE #else #define __RETURN_TYPE bool static __inline__ __DEVICE_FUNCTIONS_DECL__ __RETURN_TYPE isfinite(float a); #undef __RETURN_TYPE #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) template extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ T _Pow_int(T, int); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ long long int abs(long long int); #else template extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ T _Pow_int(T, int) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ long long int abs(long long int) throw(); #endif #endif #if defined(_LIBCPP_VERSION) && defined(_LIBCPP_BEGIN_NAMESPACE_STD) && !defined(_STLPORT_VERSION) #if defined(__clang__) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wc++11-extensions" #endif #if _LIBCPP_VERSION < 3800 _LIBCPP_BEGIN_NAMESPACE_STD #endif #elif defined(__GNUC__) && !defined(_STLPORT_VERSION) namespace std { #endif #if defined(__CUDACC_RTC__) || defined(__GNUC__) #if defined(__CUDACC_RTC__) || \ (defined(__NV_GLIBCXX_VERSION) && __NV_GLIBCXX_VERSION >= 40800) || \ defined(__ibmxl__) extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ long long int abs(long long int); #endif #endif #if defined(__CUDACC_RTC__) || \ (!defined(_MSC_VER) || _MSC_VER < 1800) && \ (!defined(_LIBCPP_VERSION) || (_LIBCPP_VERSION < 1101)) extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ long int __cdecl abs(long int); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl abs(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ double __cdecl abs(double); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl fabs(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl ceil(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl floor(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl sqrt(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl pow(float, float); #if !defined(__QNX__) #if defined(__GNUC__) && __cplusplus >= 201103L && !defined(_LIBCPP_VERSION) template extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ typename __gnu_cxx::__promote_2<_Tp, _Up>::__type pow(_Tp, _Up); #else extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl pow(float, int); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ double __cdecl pow(double, int); #endif #endif extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl log(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl log10(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl fmod(float, float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl modf(float, float*); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl exp(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl frexp(float, int*); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl ldexp(float, int); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl asin(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl sin(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl sinh(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl acos(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl cos(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl cosh(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl atan(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl atan2(float, float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl tan(float); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl tanh(float); #else extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ long int __cdecl abs(long int) throw(); #if defined(_LIBCPP_VERSION) extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ long long int __cdecl abs(long long int) throw(); #endif extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl abs(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ double __cdecl abs(double) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl fabs(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl ceil(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl floor(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl sqrt(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl pow(float, float) throw(); #if defined(_LIBCPP_VERSION) #if __cplusplus >= 201103L #define __NV_NOEXCEPT noexcept #else #define __NV_NOEXCEPT throw() #endif #if (defined(__APPLE__) && __clang_major__ >= 7) || _LIBCPP_VERSION >= 3800 || defined(__QNX__) template extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ typename std::__lazy_enable_if < std::is_arithmetic<_Tp>::value && std::is_arithmetic<_Up>::value, std::__promote<_Tp, _Up> >::type pow(_Tp __x, _Up __y) __NV_NOEXCEPT; #else template extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ typename enable_if < std::is_arithmetic<_Tp>::value && std::is_arithmetic<_Up>::value, typename std::__promote<_Tp, _Up>::type >::type pow(_Tp __x, _Up __y) __NV_NOEXCEPT; #endif #undef __NV_NOEXCEPT #else #if !(defined(__GNUC__) && __cplusplus >= 201103L) extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl pow(float, int) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ double __cdecl pow(double, int) throw(); #endif #endif extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl log(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl log10(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl fmod(float, float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl modf(float, float*) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl exp(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl frexp(float, int*) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl ldexp(float, int) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl asin(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl sin(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl sinh(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl acos(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl cos(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl cosh(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl atan(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl atan2(float, float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl tan(float) throw(); extern __DEVICE_FUNCTIONS_DECL__ __cudart_builtin__ float __cdecl tanh(float) throw(); #endif #undef __DEVICE_FUNCTIONS_DECL__ #if defined(_LIBCPP_VERSION) && defined(_LIBCPP_END_NAMESPACE_STD) && !defined(_STLPORT_VERSION) #if _LIBCPP_VERSION < 3800 _LIBCPP_END_NAMESPACE_STD #endif #if defined(__clang__) #pragma clang diagnostic pop #endif #elif defined(__GNUC__) && !defined(_STLPORT_VERSION) } #endif #if defined(__CUDACC_RTC__) #define __MATH_FUNCTIONS_DECL__ __host__ __device__ #else #define __MATH_FUNCTIONS_DECL__ static inline __host__ __device__ __cudart_builtin__ #endif #if (!defined(_MSC_VER) || _MSC_VER < 1800) #if defined(__QNX__) || (defined(_LIBCPP_VERSION) && _LIBCPP_VERSION >= 3800) #if defined(__QNX__) #if defined(_LIBCPP_VERSION) #define __NV_NOEXCEPT _NOEXCEPT _LIBCPP_BEGIN_NAMESPACE_STD #else #define __NV_NOEXCEPT namespace std { __host__ __device__ __cudart_builtin__ int ilogbf(float a); #endif #else #define __NV_NOEXCEPT _NOEXCEPT #endif __host__ __device__ __cudart_builtin__ float logb(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ int ilogb(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float scalbn(float a, int b) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float scalbln(float a, long int b) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float exp2(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float expm1(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float log2(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float log1p(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float acosh(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float asinh(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float atanh(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float hypot(float a, float b) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float cbrt(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float erf(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float erfc(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float lgamma(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float tgamma(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float copysign(float a, float b) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float nextafter(float a, float b) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float remainder(float a, float b) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float remquo(float a, float b, int *quo) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float round(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ long int lround(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ long long int llround(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float trunc(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float rint(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ long int lrint(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ long long int llrint(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float nearbyint(float a) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float fdim(float a, float b) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float fma(float a, float b, float c) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float fmax(float a, float b) __NV_NOEXCEPT; __host__ __device__ __cudart_builtin__ float fmin(float a, float b) __NV_NOEXCEPT; #if defined(__QNX__) #if defined(_LIBCPP_VERSION) _LIBCPP_END_NAMESPACE_STD using _VSTD::logb; using _VSTD::ilogb; using _VSTD::scalbn; using _VSTD::scalbln; using _VSTD::exp2; using _VSTD::expm1; using _VSTD::log2; using _VSTD::log1p; using _VSTD::acosh; using _VSTD::asinh; using _VSTD::atanh; using _VSTD::hypot; using _VSTD::cbrt; using _VSTD::erf; using _VSTD::erfc; using _VSTD::lgamma; using _VSTD::tgamma; using _VSTD::copysign; using _VSTD::nextafter; using _VSTD::remainder; using _VSTD::remquo; using _VSTD::round; using _VSTD::lround; using _VSTD::llround; using _VSTD::trunc; using _VSTD::rint; using _VSTD::lrint; using _VSTD::llrint; using _VSTD::nearbyint; using _VSTD::fdim; using _VSTD::fma; using _VSTD::fmax; using _VSTD::fmin; #else } #endif #endif #undef __NV_NOEXCEPT #else #if _GLIBCXX_MATH_H && __cplusplus >= 201103L namespace std { __host__ __device__ __cudart_builtin__ constexpr float logb(float a); __host__ __device__ __cudart_builtin__ constexpr int ilogb(float a); __host__ __device__ __cudart_builtin__ constexpr float scalbn(float a, int b); __host__ __device__ __cudart_builtin__ constexpr float scalbln(float a, long int b); __host__ __device__ __cudart_builtin__ constexpr float exp2(float a); __host__ __device__ __cudart_builtin__ constexpr float expm1(float a); __host__ __device__ __cudart_builtin__ constexpr float log2(float a); __host__ __device__ __cudart_builtin__ constexpr float log1p(float a); __host__ __device__ __cudart_builtin__ constexpr float acosh(float a); __host__ __device__ __cudart_builtin__ constexpr float asinh(float a); __host__ __device__ __cudart_builtin__ constexpr float atanh(float a); __host__ __device__ __cudart_builtin__ constexpr float hypot(float a, float b); __host__ __device__ __cudart_builtin__ constexpr float cbrt(float a); __host__ __device__ __cudart_builtin__ constexpr float erf(float a); __host__ __device__ __cudart_builtin__ constexpr float erfc(float a); __host__ __device__ __cudart_builtin__ constexpr float lgamma(float a); __host__ __device__ __cudart_builtin__ constexpr float tgamma(float a); __host__ __device__ __cudart_builtin__ constexpr float copysign(float a, float b); __host__ __device__ __cudart_builtin__ constexpr float nextafter(float a, float b); __host__ __device__ __cudart_builtin__ constexpr float remainder(float a, float b); __host__ __device__ __cudart_builtin__ float remquo(float a, float b, int *quo); __host__ __device__ __cudart_builtin__ constexpr float round(float a); __host__ __device__ __cudart_builtin__ constexpr long int lround(float a); __host__ __device__ __cudart_builtin__ constexpr long long int llround(float a); __host__ __device__ __cudart_builtin__ constexpr float trunc(float a); __host__ __device__ __cudart_builtin__ constexpr float rint(float a); __host__ __device__ __cudart_builtin__ constexpr long int lrint(float a); __host__ __device__ __cudart_builtin__ constexpr long long int llrint(float a); __host__ __device__ __cudart_builtin__ constexpr float nearbyint(float a); __host__ __device__ __cudart_builtin__ constexpr float fdim(float a, float b); __host__ __device__ __cudart_builtin__ constexpr float fma(float a, float b, float c); __host__ __device__ __cudart_builtin__ constexpr float fmax(float a, float b); __host__ __device__ __cudart_builtin__ constexpr float fmin(float a, float b); } #else __MATH_FUNCTIONS_DECL__ float logb(float a); __MATH_FUNCTIONS_DECL__ int ilogb(float a); __MATH_FUNCTIONS_DECL__ float scalbn(float a, int b); __MATH_FUNCTIONS_DECL__ float scalbln(float a, long int b); __MATH_FUNCTIONS_DECL__ float exp2(float a); __MATH_FUNCTIONS_DECL__ float expm1(float a); __MATH_FUNCTIONS_DECL__ float log2(float a); __MATH_FUNCTIONS_DECL__ float log1p(float a); __MATH_FUNCTIONS_DECL__ float acosh(float a); __MATH_FUNCTIONS_DECL__ float asinh(float a); __MATH_FUNCTIONS_DECL__ float atanh(float a); __MATH_FUNCTIONS_DECL__ float hypot(float a, float b); __MATH_FUNCTIONS_DECL__ float cbrt(float a); __MATH_FUNCTIONS_DECL__ float erf(float a); __MATH_FUNCTIONS_DECL__ float erfc(float a); __MATH_FUNCTIONS_DECL__ float lgamma(float a); __MATH_FUNCTIONS_DECL__ float tgamma(float a); __MATH_FUNCTIONS_DECL__ float copysign(float a, float b); __MATH_FUNCTIONS_DECL__ float nextafter(float a, float b); __MATH_FUNCTIONS_DECL__ float remainder(float a, float b); __MATH_FUNCTIONS_DECL__ float remquo(float a, float b, int *quo); __MATH_FUNCTIONS_DECL__ float round(float a); __MATH_FUNCTIONS_DECL__ long int lround(float a); __MATH_FUNCTIONS_DECL__ long long int llround(float a); __MATH_FUNCTIONS_DECL__ float trunc(float a); __MATH_FUNCTIONS_DECL__ float rint(float a); __MATH_FUNCTIONS_DECL__ long int lrint(float a); __MATH_FUNCTIONS_DECL__ long long int llrint(float a); __MATH_FUNCTIONS_DECL__ float nearbyint(float a); __MATH_FUNCTIONS_DECL__ float fdim(float a, float b); __MATH_FUNCTIONS_DECL__ float fma(float a, float b, float c); __MATH_FUNCTIONS_DECL__ float fmax(float a, float b); __MATH_FUNCTIONS_DECL__ float fmin(float a, float b); #endif #endif #else extern __host__ __device__ __cudart_builtin__ float __cdecl logb(float) throw(); extern __host__ __device__ __cudart_builtin__ int __cdecl ilogb(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl scalbn(float, float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl scalbln(float, long int) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl exp2(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl expm1(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl log2(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl log1p(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl acosh(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl asinh(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl atanh(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl hypot(float, float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl cbrt(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl erf(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl erfc(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl lgamma(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl tgamma(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl copysign(float, float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl nextafter(float, float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl remainder(float, float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl remquo(float, float, int *) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl round(float) throw(); extern __host__ __device__ __cudart_builtin__ long int __cdecl lround(float) throw(); extern __host__ __device__ __cudart_builtin__ long long int __cdecl llround(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl trunc(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl rint(float) throw(); extern __host__ __device__ __cudart_builtin__ long int __cdecl lrint(float) throw(); extern __host__ __device__ __cudart_builtin__ long long int __cdecl llrint(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl nearbyint(float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl fdim(float, float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl fma(float, float, float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl fmax(float, float) throw(); extern __host__ __device__ __cudart_builtin__ float __cdecl fmin(float, float) throw(); #endif __MATH_FUNCTIONS_DECL__ float exp10(float a); __MATH_FUNCTIONS_DECL__ float rsqrt(float a); __MATH_FUNCTIONS_DECL__ float rcbrt(float a); __MATH_FUNCTIONS_DECL__ float sinpi(float a); __MATH_FUNCTIONS_DECL__ float cospi(float a); __MATH_FUNCTIONS_DECL__ void sincospi(float a, float *sptr, float *cptr); __MATH_FUNCTIONS_DECL__ void sincos(float a, float *sptr, float *cptr); __MATH_FUNCTIONS_DECL__ float j0(float a); __MATH_FUNCTIONS_DECL__ float j1(float a); __MATH_FUNCTIONS_DECL__ float jn(int n, float a); __MATH_FUNCTIONS_DECL__ float y0(float a); __MATH_FUNCTIONS_DECL__ float y1(float a); __MATH_FUNCTIONS_DECL__ float yn(int n, float a); __MATH_FUNCTIONS_DECL__ float cyl_bessel_i0(float a); __MATH_FUNCTIONS_DECL__ float cyl_bessel_i1(float a); __MATH_FUNCTIONS_DECL__ float erfinv(float a); __MATH_FUNCTIONS_DECL__ float erfcinv(float a); __MATH_FUNCTIONS_DECL__ float normcdfinv(float a); __MATH_FUNCTIONS_DECL__ float normcdf(float a); __MATH_FUNCTIONS_DECL__ float erfcx(float a); __MATH_FUNCTIONS_DECL__ double copysign(double a, float b); __MATH_FUNCTIONS_DECL__ double copysign(float a, double b); __MATH_FUNCTIONS_DECL__ unsigned int min(unsigned int a, unsigned int b); __MATH_FUNCTIONS_DECL__ unsigned int min(int a, unsigned int b); __MATH_FUNCTIONS_DECL__ unsigned int min(unsigned int a, int b); __MATH_FUNCTIONS_DECL__ long int min(long int a, long int b); __MATH_FUNCTIONS_DECL__ unsigned long int min(unsigned long int a, unsigned long int b); __MATH_FUNCTIONS_DECL__ unsigned long int min(long int a, unsigned long int b); __MATH_FUNCTIONS_DECL__ unsigned long int min(unsigned long int a, long int b); __MATH_FUNCTIONS_DECL__ long long int min(long long int a, long long int b); __MATH_FUNCTIONS_DECL__ unsigned long long int min(unsigned long long int a, unsigned long long int b); __MATH_FUNCTIONS_DECL__ unsigned long long int min(long long int a, unsigned long long int b); __MATH_FUNCTIONS_DECL__ unsigned long long int min(unsigned long long int a, long long int b); __MATH_FUNCTIONS_DECL__ float min(float a, float b); __MATH_FUNCTIONS_DECL__ double min(double a, double b); __MATH_FUNCTIONS_DECL__ double min(float a, double b); __MATH_FUNCTIONS_DECL__ double min(double a, float b); __MATH_FUNCTIONS_DECL__ unsigned int max(unsigned int a, unsigned int b); __MATH_FUNCTIONS_DECL__ unsigned int max(int a, unsigned int b); __MATH_FUNCTIONS_DECL__ unsigned int max(unsigned int a, int b); __MATH_FUNCTIONS_DECL__ long int max(long int a, long int b); __MATH_FUNCTIONS_DECL__ unsigned long int max(unsigned long int a, unsigned long int b); __MATH_FUNCTIONS_DECL__ unsigned long int max(long int a, unsigned long int b); __MATH_FUNCTIONS_DECL__ unsigned long int max(unsigned long int a, long int b); __MATH_FUNCTIONS_DECL__ long long int max(long long int a, long long int b); __MATH_FUNCTIONS_DECL__ unsigned long long int max(unsigned long long int a, unsigned long long int b); __MATH_FUNCTIONS_DECL__ unsigned long long int max(long long int a, unsigned long long int b); __MATH_FUNCTIONS_DECL__ unsigned long long int max(unsigned long long int a, long long int b); __MATH_FUNCTIONS_DECL__ float max(float a, float b); __MATH_FUNCTIONS_DECL__ double max(double a, double b); __MATH_FUNCTIONS_DECL__ double max(float a, double b); __MATH_FUNCTIONS_DECL__ double max(double a, float b); #undef __MATH_FUNCTIONS_DECL__ #endif #if !defined(__CUDACC__) #include #if defined(_WIN32) #pragma warning(disable : 4211) #endif __func__(double rsqrt(double a)); __func__(double rcbrt(double a)); __func__(double sinpi(double a)); __func__(double cospi(double a)); __func__(void sincospi(double a, double *sptr, double *cptr)); __func__(double erfinv(double a)); __func__(double erfcinv(double a)); __func__(double normcdfinv(double a)); __func__(double normcdf(double a)); __func__(double erfcx(double a)); __func__(float rsqrtf(float a)); __func__(float rcbrtf(float a)); __func__(float sinpif(float a)); __func__(float cospif(float a)); __func__(void sincospif(float a, float *sptr, float *cptr)); __func__(float erfinvf(float a)); __func__(float erfcinvf(float a)); __func__(float normcdfinvf(float a)); __func__(float normcdff(float a)); __func__(float erfcxf(float a)); __func__(int min(int a, int b)); __func__(unsigned int umin(unsigned int a, unsigned int b)); __func__(long long int llmin(long long int a, long long int b)); __func__(unsigned long long int ullmin(unsigned long long int a, unsigned long long int b)); __func__(int max(int a, int b)); __func__(unsigned int umax(unsigned int a, unsigned int b)); __func__(long long int llmax(long long int a, long long int b)); __func__(unsigned long long int ullmax(unsigned long long int a, unsigned long long int b)); #if defined(_WIN32) || defined(__APPLE__) || defined (__ANDROID__) __func__(int __isnan(double a)); #endif #if defined(_WIN32) || defined(__APPLE__) || defined (__QNX__) __func__(void sincos(double a, double *sptr, double *cptr)); #endif #if defined(_WIN32) || defined(__APPLE__) __func__(double exp10(double a)); __func__(float exp10f(float a)); __func__(void sincosf(float a, float *sptr, float *cptr)); __func__(int __isinf(double a)); #endif #if (defined(_WIN32) && (!defined(_MSC_VER) || _MSC_VER < 1800)) || defined (__ANDROID__) __func__(double log2(double a)); #endif #if defined(_WIN32) __func__(int __signbit(double a)); __func__(int __finite(double a)); __func__(int __signbitl(long double a)); __func__(int __signbitf(float a)); __func__(int __finitel(long double a)); __func__(int __finitef(float a)); __func__(int __isinfl(long double a)); __func__(int __isinff(float a)); __func__(int __isnanl(long double a)); __func__(int __isnanf(float a)); #endif #if defined(_WIN32) && (!defined(_MSC_VER) || _MSC_VER < 1800) __func__(double copysign(double a, double b)); __func__(double fmax(double a, double b)); __func__(double fmin(double a, double b)); __func__(double trunc(double a)); __func__(double round(double a)); __func__(long int lround(double a)); __func__(long long int llround(double a)); __func__(double rint(double a)); __func__(double nearbyint(double a)); __func__(long int lrint(double a)); __func__(long long int llrint(double a)); __func__(double fdim(double a, double b)); __func__(double scalbn(double a, int b)); __func__(double scalbln(double a, long int b)); __func__(double exp2(double a)); __func__(double log1p(double a)); __func__(double expm1(double a)); __func__(double cbrt(double a)); __func__(double acosh(double a)); __func__(double asinh(double a)); __func__(double atanh(double a)); __func__(int ilogb(double a)); __func__(double logb(double a)); __func__(double remquo(double a, double b, int *quo)); __func__(double remainder(double a, double b)); __func__(double fma (double a, double b, double c)); __func__(double nextafter(double a, double b)); __func__(double erf(double a)); __func__(double erfc(double a)); __func__(double lgamma(double a)); __func__(unsigned long long int __internal_host_nan_kernel(const char *s)); __func__(double nan(const char *tagp)); __func__(double __host_tgamma_kernel(double a)); __func__(double __host_stirling_poly(double a)); __func__(double __host_tgamma_stirling(double a)); __func__(double tgamma(double a)); __func__(float fmaxf(float a, float b)); __func__(float fminf(float a, float b)); __func__(float roundf(float a)); __func__(long int lroundf(float a)); __func__(long long int llroundf(float a)); __func__(float truncf(float a)); __func__(float rintf(float a)); __func__(float nearbyintf(float a)); __func__(long int lrintf(float a)); __func__(long long int llrintf(float a)); __func__(float logbf(float a)); __func__(float scalblnf(float a, long int b)); __func__(float log2f(float a)); __func__(float exp2f(float a)); __func__(float acoshf(float a)); __func__(float asinhf(float a)); __func__(float atanhf(float a)); __func__(float cbrtf(float a)); __func__(float expm1f(float a)); __func__(float fdimf(float a, float b)); __func__(float log1pf(float a)); __func__(float scalbnf(float a, int b)); __func__(float fmaf(float a, float b, float c)); __func__(int ilogbf(float a)); __func__(float erff(float a)); __func__(float erfcf(float a)); __func__(float lgammaf(float a)); __func__(float tgammaf(float a)); __func__(float remquof(float a, float b, int *quo)); __func__(float remainderf(float a, float b)); __func__(float copysignf(float a, float b)); __func__(float nextafterf(float a, float b)); __func__(float nanf(const char *tagp)); #endif #if defined(_WIN32) #pragma warning(default: 4211) #endif #endif #if !defined(__CUDACC_RTC__) #include "math_functions.hpp" #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_MATH_FUNCTIONS_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_MATH_FUNCTIONS_H__ #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_COMMON_FUNCTIONS_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_COMMON_FUNCTIONS_H__ #endif #if !defined(__CUDA_SURFACE_TYPES_H__) #define __CUDA_SURFACE_TYPES_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDACC_RTC__) #endif #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif template struct __device_builtin_surface_type__ surface : public surfaceReference { #if !defined(__CUDACC_RTC__) __host__ surface(void) { channelDesc = cudaCreateChannelDesc(); } __host__ surface(struct cudaChannelFormatDesc desc) { channelDesc = desc; } #endif }; template struct __device_builtin_surface_type__ surface : public surfaceReference { #if !defined(__CUDACC_RTC__) __host__ surface(void) { channelDesc = cudaCreateChannelDesc(); } #endif }; #endif #endif #if !defined(__CUDA_TEXTURE_TYPES_H__) #define __CUDA_TEXTURE_TYPES_H__ #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDACC_RTC__) #endif #if !defined(__CUDA_RUNTIME_API_H__) #define __CUDA_RUNTIME_API_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #define CUDART_VERSION 10020 #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__DEVICE_TYPES_H__) #define __DEVICE_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif enum __device_builtin__ cudaRoundMode { cudaRoundNearest, cudaRoundZero, cudaRoundPosInf, cudaRoundMinInf }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DEVICE_TYPES_H__ #endif #endif #if !defined(__CUDACC_RTC__) #endif #if !defined(__SURFACE_TYPES_H__) #define __SURFACE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaSurfaceType1D 0x01 #define cudaSurfaceType2D 0x02 #define cudaSurfaceType3D 0x03 #define cudaSurfaceTypeCubemap 0x0C #define cudaSurfaceType1DLayered 0xF1 #define cudaSurfaceType2DLayered 0xF2 #define cudaSurfaceTypeCubemapLayered 0xFC enum __device_builtin__ cudaSurfaceBoundaryMode { cudaBoundaryModeZero = 0, cudaBoundaryModeClamp = 1, cudaBoundaryModeTrap = 2 }; enum __device_builtin__ cudaSurfaceFormatMode { cudaFormatModeForced = 0, cudaFormatModeAuto = 1 }; struct __device_builtin__ surfaceReference { struct cudaChannelFormatDesc channelDesc; }; typedef __device_builtin__ unsigned long long cudaSurfaceObject_t; #endif #if !defined(__TEXTURE_TYPES_H__) #define __TEXTURE_TYPES_H__ #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #define cudaTextureType1D 0x01 #define cudaTextureType2D 0x02 #define cudaTextureType3D 0x03 #define cudaTextureTypeCubemap 0x0C #define cudaTextureType1DLayered 0xF1 #define cudaTextureType2DLayered 0xF2 #define cudaTextureTypeCubemapLayered 0xFC enum __device_builtin__ cudaTextureAddressMode { cudaAddressModeWrap = 0, cudaAddressModeClamp = 1, cudaAddressModeMirror = 2, cudaAddressModeBorder = 3 }; enum __device_builtin__ cudaTextureFilterMode { cudaFilterModePoint = 0, cudaFilterModeLinear = 1 }; enum __device_builtin__ cudaTextureReadMode { cudaReadModeElementType = 0, cudaReadModeNormalizedFloat = 1 }; struct __device_builtin__ textureReference { int normalized; enum cudaTextureFilterMode filterMode; enum cudaTextureAddressMode addressMode[3]; struct cudaChannelFormatDesc channelDesc; int sRGB; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; int __cudaReserved[15]; }; struct __device_builtin__ cudaTextureDesc { enum cudaTextureAddressMode addressMode[3]; enum cudaTextureFilterMode filterMode; enum cudaTextureReadMode readMode; int sRGB; float borderColor[4]; int normalizedCoords; unsigned int maxAnisotropy; enum cudaTextureFilterMode mipmapFilterMode; float mipmapLevelBias; float minMipmapLevelClamp; float maxMipmapLevelClamp; }; typedef __device_builtin__ unsigned long long cudaTextureObject_t; #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_DEVICE_RUNTIME_API_H__) #define __CUDA_DEVICE_RUNTIME_API_H__ #if !defined(__CUDACC_RTC__) #if !defined(__CUDACC_INTERNAL_NO_STUBS__) && !defined(__CUDACC_RDC__) && !defined(__CUDACC_EWP__) && defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) #if defined(__cplusplus) extern "C" { #endif struct cudaFuncAttributes; #if defined(_WIN32) #define __NV_WEAK__ __declspec(nv_weak) #else #define __NV_WEAK__ __attribute__((nv_weak)) #endif __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaMalloc(void **p, size_t s) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaGetDevice(int *device) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize) { return cudaErrorUnknown; } __device__ __NV_WEAK__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags) { return cudaErrorUnknown; } #undef __NV_WEAK__ #if defined(__cplusplus) } #endif #endif #endif #if defined(__cplusplus) && defined(__CUDACC__) #if !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350) #if !defined(__DRIVER_TYPES_H__) #define __DRIVER_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__CUDA_INTERNAL_COMPILATION__) #if !defined(__CUDACC_RTC__) #include #include #endif #define cudaHostAllocDefault 0x00 #define cudaHostAllocPortable 0x01 #define cudaHostAllocMapped 0x02 #define cudaHostAllocWriteCombined 0x04 #define cudaHostRegisterDefault 0x00 #define cudaHostRegisterPortable 0x01 #define cudaHostRegisterMapped 0x02 #define cudaHostRegisterIoMemory 0x04 #define cudaPeerAccessDefault 0x00 #define cudaStreamDefault 0x00 #define cudaStreamNonBlocking 0x01 #define cudaStreamLegacy ((cudaStream_t)0x1) #define cudaStreamPerThread ((cudaStream_t)0x2) #define cudaEventDefault 0x00 #define cudaEventBlockingSync 0x01 #define cudaEventDisableTiming 0x02 #define cudaEventInterprocess 0x04 #define cudaDeviceScheduleAuto 0x00 #define cudaDeviceScheduleSpin 0x01 #define cudaDeviceScheduleYield 0x02 #define cudaDeviceScheduleBlockingSync 0x04 #define cudaDeviceBlockingSync 0x04 #define cudaDeviceScheduleMask 0x07 #define cudaDeviceMapHost 0x08 #define cudaDeviceLmemResizeToMax 0x10 #define cudaDeviceMask 0x1f #define cudaArrayDefault 0x00 #define cudaArrayLayered 0x01 #define cudaArraySurfaceLoadStore 0x02 #define cudaArrayCubemap 0x04 #define cudaArrayTextureGather 0x08 #define cudaArrayColorAttachment 0x20 #define cudaIpcMemLazyEnablePeerAccess 0x01 #define cudaMemAttachGlobal 0x01 #define cudaMemAttachHost 0x02 #define cudaMemAttachSingle 0x04 #define cudaOccupancyDefault 0x00 #define cudaOccupancyDisableCachingOverride 0x01 #define cudaCpuDeviceId ((int)-1) #define cudaInvalidDeviceId ((int)-2) #define cudaCooperativeLaunchMultiDeviceNoPreSync 0x01 #define cudaCooperativeLaunchMultiDeviceNoPostSync 0x02 #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif enum __device_builtin__ cudaError { cudaSuccess = 0, cudaErrorInvalidValue = 1, cudaErrorMemoryAllocation = 2, cudaErrorInitializationError = 3, cudaErrorCudartUnloading = 4, cudaErrorProfilerDisabled = 5, cudaErrorProfilerNotInitialized = 6, cudaErrorProfilerAlreadyStarted = 7, cudaErrorProfilerAlreadyStopped = 8, cudaErrorInvalidConfiguration = 9, cudaErrorInvalidPitchValue = 12, cudaErrorInvalidSymbol = 13, cudaErrorInvalidHostPointer = 16, cudaErrorInvalidDevicePointer = 17, cudaErrorInvalidTexture = 18, cudaErrorInvalidTextureBinding = 19, cudaErrorInvalidChannelDescriptor = 20, cudaErrorInvalidMemcpyDirection = 21, cudaErrorAddressOfConstant = 22, cudaErrorTextureFetchFailed = 23, cudaErrorTextureNotBound = 24, cudaErrorSynchronizationError = 25, cudaErrorInvalidFilterSetting = 26, cudaErrorInvalidNormSetting = 27, cudaErrorMixedDeviceExecution = 28, cudaErrorNotYetImplemented = 31, cudaErrorMemoryValueTooLarge = 32, cudaErrorInsufficientDriver = 35, cudaErrorInvalidSurface = 37, cudaErrorDuplicateVariableName = 43, cudaErrorDuplicateTextureName = 44, cudaErrorDuplicateSurfaceName = 45, cudaErrorDevicesUnavailable = 46, cudaErrorIncompatibleDriverContext = 49, cudaErrorMissingConfiguration = 52, cudaErrorPriorLaunchFailure = 53, cudaErrorLaunchMaxDepthExceeded = 65, cudaErrorLaunchFileScopedTex = 66, cudaErrorLaunchFileScopedSurf = 67, cudaErrorSyncDepthExceeded = 68, cudaErrorLaunchPendingCountExceeded = 69, cudaErrorInvalidDeviceFunction = 98, cudaErrorNoDevice = 100, cudaErrorInvalidDevice = 101, cudaErrorStartupFailure = 127, cudaErrorInvalidKernelImage = 200, cudaErrorDeviceUninitialized = 201, cudaErrorMapBufferObjectFailed = 205, cudaErrorUnmapBufferObjectFailed = 206, cudaErrorArrayIsMapped = 207, cudaErrorAlreadyMapped = 208, cudaErrorNoKernelImageForDevice = 209, cudaErrorAlreadyAcquired = 210, cudaErrorNotMapped = 211, cudaErrorNotMappedAsArray = 212, cudaErrorNotMappedAsPointer = 213, cudaErrorECCUncorrectable = 214, cudaErrorUnsupportedLimit = 215, cudaErrorDeviceAlreadyInUse = 216, cudaErrorPeerAccessUnsupported = 217, cudaErrorInvalidPtx = 218, cudaErrorInvalidGraphicsContext = 219, cudaErrorNvlinkUncorrectable = 220, cudaErrorJitCompilerNotFound = 221, cudaErrorInvalidSource = 300, cudaErrorFileNotFound = 301, cudaErrorSharedObjectSymbolNotFound = 302, cudaErrorSharedObjectInitFailed = 303, cudaErrorOperatingSystem = 304, cudaErrorInvalidResourceHandle = 400, cudaErrorIllegalState = 401, cudaErrorSymbolNotFound = 500, cudaErrorNotReady = 600, cudaErrorIllegalAddress = 700, cudaErrorLaunchOutOfResources = 701, cudaErrorLaunchTimeout = 702, cudaErrorLaunchIncompatibleTexturing = 703, cudaErrorPeerAccessAlreadyEnabled = 704, cudaErrorPeerAccessNotEnabled = 705, cudaErrorSetOnActiveProcess = 708, cudaErrorContextIsDestroyed = 709, cudaErrorAssert = 710, cudaErrorTooManyPeers = 711, cudaErrorHostMemoryAlreadyRegistered = 712, cudaErrorHostMemoryNotRegistered = 713, cudaErrorHardwareStackError = 714, cudaErrorIllegalInstruction = 715, cudaErrorMisalignedAddress = 716, cudaErrorInvalidAddressSpace = 717, cudaErrorInvalidPc = 718, cudaErrorLaunchFailure = 719, cudaErrorCooperativeLaunchTooLarge = 720, cudaErrorNotPermitted = 800, cudaErrorNotSupported = 801, cudaErrorSystemNotReady = 802, cudaErrorSystemDriverMismatch = 803, cudaErrorCompatNotSupportedOnDevice = 804, cudaErrorStreamCaptureUnsupported = 900, cudaErrorStreamCaptureInvalidated = 901, cudaErrorStreamCaptureMerge = 902, cudaErrorStreamCaptureUnmatched = 903, cudaErrorStreamCaptureUnjoined = 904, cudaErrorStreamCaptureIsolation = 905, cudaErrorStreamCaptureImplicit = 906, cudaErrorCapturedEvent = 907, cudaErrorStreamCaptureWrongThread = 908, cudaErrorTimeout = 909, cudaErrorGraphExecUpdateFailure = 910, cudaErrorUnknown = 999, cudaErrorApiFailureBase = 10000 }; enum __device_builtin__ cudaChannelFormatKind { cudaChannelFormatKindSigned = 0, cudaChannelFormatKindUnsigned = 1, cudaChannelFormatKindFloat = 2, cudaChannelFormatKindNone = 3 }; struct __device_builtin__ cudaChannelFormatDesc { int x; int y; int z; int w; enum cudaChannelFormatKind f; }; typedef struct cudaArray *cudaArray_t; typedef const struct cudaArray *cudaArray_const_t; struct cudaArray; typedef struct cudaMipmappedArray *cudaMipmappedArray_t; typedef const struct cudaMipmappedArray *cudaMipmappedArray_const_t; struct cudaMipmappedArray; enum __device_builtin__ cudaMemoryType { cudaMemoryTypeUnregistered = 0, cudaMemoryTypeHost = 1, cudaMemoryTypeDevice = 2, cudaMemoryTypeManaged = 3 }; enum __device_builtin__ cudaMemcpyKind { cudaMemcpyHostToHost = 0, cudaMemcpyHostToDevice = 1, cudaMemcpyDeviceToHost = 2, cudaMemcpyDeviceToDevice = 3, cudaMemcpyDefault = 4 }; struct __device_builtin__ cudaPitchedPtr { void *ptr; size_t pitch; size_t xsize; size_t ysize; }; struct __device_builtin__ cudaExtent { size_t width; size_t height; size_t depth; }; struct __device_builtin__ cudaPos { size_t x; size_t y; size_t z; }; struct __device_builtin__ cudaMemcpy3DParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; struct cudaExtent extent; enum cudaMemcpyKind kind; }; struct __device_builtin__ cudaMemcpy3DPeerParms { cudaArray_t srcArray; struct cudaPos srcPos; struct cudaPitchedPtr srcPtr; int srcDevice; cudaArray_t dstArray; struct cudaPos dstPos; struct cudaPitchedPtr dstPtr; int dstDevice; struct cudaExtent extent; }; struct __device_builtin__ cudaMemsetParams { void *dst; size_t pitch; unsigned int value; unsigned int elementSize; size_t width; size_t height; }; #ifdef _WIN32 #define CUDART_CB __stdcall #else #define CUDART_CB #endif typedef void (CUDART_CB *cudaHostFn_t)(void *userData); struct __device_builtin__ cudaHostNodeParams { cudaHostFn_t fn; void* userData; }; enum __device_builtin__ cudaStreamCaptureStatus { cudaStreamCaptureStatusNone = 0, cudaStreamCaptureStatusActive = 1, cudaStreamCaptureStatusInvalidated = 2 }; enum __device_builtin__ cudaStreamCaptureMode { cudaStreamCaptureModeGlobal = 0, cudaStreamCaptureModeThreadLocal = 1, cudaStreamCaptureModeRelaxed = 2 }; struct cudaGraphicsResource; enum __device_builtin__ cudaGraphicsRegisterFlags { cudaGraphicsRegisterFlagsNone = 0, cudaGraphicsRegisterFlagsReadOnly = 1, cudaGraphicsRegisterFlagsWriteDiscard = 2, cudaGraphicsRegisterFlagsSurfaceLoadStore = 4, cudaGraphicsRegisterFlagsTextureGather = 8 }; enum __device_builtin__ cudaGraphicsMapFlags { cudaGraphicsMapFlagsNone = 0, cudaGraphicsMapFlagsReadOnly = 1, cudaGraphicsMapFlagsWriteDiscard = 2 }; enum __device_builtin__ cudaGraphicsCubeFace { cudaGraphicsCubeFacePositiveX = 0x00, cudaGraphicsCubeFaceNegativeX = 0x01, cudaGraphicsCubeFacePositiveY = 0x02, cudaGraphicsCubeFaceNegativeY = 0x03, cudaGraphicsCubeFacePositiveZ = 0x04, cudaGraphicsCubeFaceNegativeZ = 0x05 }; enum __device_builtin__ cudaResourceType { cudaResourceTypeArray = 0x00, cudaResourceTypeMipmappedArray = 0x01, cudaResourceTypeLinear = 0x02, cudaResourceTypePitch2D = 0x03 }; enum __device_builtin__ cudaResourceViewFormat { cudaResViewFormatNone = 0x00, cudaResViewFormatUnsignedChar1 = 0x01, cudaResViewFormatUnsignedChar2 = 0x02, cudaResViewFormatUnsignedChar4 = 0x03, cudaResViewFormatSignedChar1 = 0x04, cudaResViewFormatSignedChar2 = 0x05, cudaResViewFormatSignedChar4 = 0x06, cudaResViewFormatUnsignedShort1 = 0x07, cudaResViewFormatUnsignedShort2 = 0x08, cudaResViewFormatUnsignedShort4 = 0x09, cudaResViewFormatSignedShort1 = 0x0a, cudaResViewFormatSignedShort2 = 0x0b, cudaResViewFormatSignedShort4 = 0x0c, cudaResViewFormatUnsignedInt1 = 0x0d, cudaResViewFormatUnsignedInt2 = 0x0e, cudaResViewFormatUnsignedInt4 = 0x0f, cudaResViewFormatSignedInt1 = 0x10, cudaResViewFormatSignedInt2 = 0x11, cudaResViewFormatSignedInt4 = 0x12, cudaResViewFormatHalf1 = 0x13, cudaResViewFormatHalf2 = 0x14, cudaResViewFormatHalf4 = 0x15, cudaResViewFormatFloat1 = 0x16, cudaResViewFormatFloat2 = 0x17, cudaResViewFormatFloat4 = 0x18, cudaResViewFormatUnsignedBlockCompressed1 = 0x19, cudaResViewFormatUnsignedBlockCompressed2 = 0x1a, cudaResViewFormatUnsignedBlockCompressed3 = 0x1b, cudaResViewFormatUnsignedBlockCompressed4 = 0x1c, cudaResViewFormatSignedBlockCompressed4 = 0x1d, cudaResViewFormatUnsignedBlockCompressed5 = 0x1e, cudaResViewFormatSignedBlockCompressed5 = 0x1f, cudaResViewFormatUnsignedBlockCompressed6H = 0x20, cudaResViewFormatSignedBlockCompressed6H = 0x21, cudaResViewFormatUnsignedBlockCompressed7 = 0x22 }; struct __device_builtin__ cudaResourceDesc { enum cudaResourceType resType; union { struct { cudaArray_t array; } array; struct { cudaMipmappedArray_t mipmap; } mipmap; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t sizeInBytes; } linear; struct { void *devPtr; struct cudaChannelFormatDesc desc; size_t width; size_t height; size_t pitchInBytes; } pitch2D; } res; }; struct __device_builtin__ cudaResourceViewDesc { enum cudaResourceViewFormat format; size_t width; size_t height; size_t depth; unsigned int firstMipmapLevel; unsigned int lastMipmapLevel; unsigned int firstLayer; unsigned int lastLayer; }; struct __device_builtin__ cudaPointerAttributes { __CUDA_DEPRECATED enum cudaMemoryType memoryType; enum cudaMemoryType type; int device; void *devicePointer; void *hostPointer; __CUDA_DEPRECATED int isManaged; }; struct __device_builtin__ cudaFuncAttributes { size_t sharedSizeBytes; size_t constSizeBytes; size_t localSizeBytes; int maxThreadsPerBlock; int numRegs; int ptxVersion; int binaryVersion; int cacheModeCA; int maxDynamicSharedSizeBytes; int preferredShmemCarveout; }; enum __device_builtin__ cudaFuncAttribute { cudaFuncAttributeMaxDynamicSharedMemorySize = 8, cudaFuncAttributePreferredSharedMemoryCarveout = 9, cudaFuncAttributeMax }; enum __device_builtin__ cudaFuncCache { cudaFuncCachePreferNone = 0, cudaFuncCachePreferShared = 1, cudaFuncCachePreferL1 = 2, cudaFuncCachePreferEqual = 3 }; enum __device_builtin__ cudaSharedMemConfig { cudaSharedMemBankSizeDefault = 0, cudaSharedMemBankSizeFourByte = 1, cudaSharedMemBankSizeEightByte = 2 }; enum __device_builtin__ cudaSharedCarveout { cudaSharedmemCarveoutDefault = -1, cudaSharedmemCarveoutMaxShared = 100, cudaSharedmemCarveoutMaxL1 = 0 }; enum __device_builtin__ cudaComputeMode { cudaComputeModeDefault = 0, cudaComputeModeExclusive = 1, cudaComputeModeProhibited = 2, cudaComputeModeExclusiveProcess = 3 }; enum __device_builtin__ cudaLimit { cudaLimitStackSize = 0x00, cudaLimitPrintfFifoSize = 0x01, cudaLimitMallocHeapSize = 0x02, cudaLimitDevRuntimeSyncDepth = 0x03, cudaLimitDevRuntimePendingLaunchCount = 0x04, cudaLimitMaxL2FetchGranularity = 0x05 }; enum __device_builtin__ cudaMemoryAdvise { cudaMemAdviseSetReadMostly = 1, cudaMemAdviseUnsetReadMostly = 2, cudaMemAdviseSetPreferredLocation = 3, cudaMemAdviseUnsetPreferredLocation = 4, cudaMemAdviseSetAccessedBy = 5, cudaMemAdviseUnsetAccessedBy = 6 }; enum __device_builtin__ cudaMemRangeAttribute { cudaMemRangeAttributeReadMostly = 1, cudaMemRangeAttributePreferredLocation = 2, cudaMemRangeAttributeAccessedBy = 3, cudaMemRangeAttributeLastPrefetchLocation = 4 }; enum __device_builtin__ cudaOutputMode { cudaKeyValuePair = 0x00, cudaCSV = 0x01 }; enum __device_builtin__ cudaDeviceAttr { cudaDevAttrMaxThreadsPerBlock = 1, cudaDevAttrMaxBlockDimX = 2, cudaDevAttrMaxBlockDimY = 3, cudaDevAttrMaxBlockDimZ = 4, cudaDevAttrMaxGridDimX = 5, cudaDevAttrMaxGridDimY = 6, cudaDevAttrMaxGridDimZ = 7, cudaDevAttrMaxSharedMemoryPerBlock = 8, cudaDevAttrTotalConstantMemory = 9, cudaDevAttrWarpSize = 10, cudaDevAttrMaxPitch = 11, cudaDevAttrMaxRegistersPerBlock = 12, cudaDevAttrClockRate = 13, cudaDevAttrTextureAlignment = 14, cudaDevAttrGpuOverlap = 15, cudaDevAttrMultiProcessorCount = 16, cudaDevAttrKernelExecTimeout = 17, cudaDevAttrIntegrated = 18, cudaDevAttrCanMapHostMemory = 19, cudaDevAttrComputeMode = 20, cudaDevAttrMaxTexture1DWidth = 21, cudaDevAttrMaxTexture2DWidth = 22, cudaDevAttrMaxTexture2DHeight = 23, cudaDevAttrMaxTexture3DWidth = 24, cudaDevAttrMaxTexture3DHeight = 25, cudaDevAttrMaxTexture3DDepth = 26, cudaDevAttrMaxTexture2DLayeredWidth = 27, cudaDevAttrMaxTexture2DLayeredHeight = 28, cudaDevAttrMaxTexture2DLayeredLayers = 29, cudaDevAttrSurfaceAlignment = 30, cudaDevAttrConcurrentKernels = 31, cudaDevAttrEccEnabled = 32, cudaDevAttrPciBusId = 33, cudaDevAttrPciDeviceId = 34, cudaDevAttrTccDriver = 35, cudaDevAttrMemoryClockRate = 36, cudaDevAttrGlobalMemoryBusWidth = 37, cudaDevAttrL2CacheSize = 38, cudaDevAttrMaxThreadsPerMultiProcessor = 39, cudaDevAttrAsyncEngineCount = 40, cudaDevAttrUnifiedAddressing = 41, cudaDevAttrMaxTexture1DLayeredWidth = 42, cudaDevAttrMaxTexture1DLayeredLayers = 43, cudaDevAttrMaxTexture2DGatherWidth = 45, cudaDevAttrMaxTexture2DGatherHeight = 46, cudaDevAttrMaxTexture3DWidthAlt = 47, cudaDevAttrMaxTexture3DHeightAlt = 48, cudaDevAttrMaxTexture3DDepthAlt = 49, cudaDevAttrPciDomainId = 50, cudaDevAttrTexturePitchAlignment = 51, cudaDevAttrMaxTextureCubemapWidth = 52, cudaDevAttrMaxTextureCubemapLayeredWidth = 53, cudaDevAttrMaxTextureCubemapLayeredLayers = 54, cudaDevAttrMaxSurface1DWidth = 55, cudaDevAttrMaxSurface2DWidth = 56, cudaDevAttrMaxSurface2DHeight = 57, cudaDevAttrMaxSurface3DWidth = 58, cudaDevAttrMaxSurface3DHeight = 59, cudaDevAttrMaxSurface3DDepth = 60, cudaDevAttrMaxSurface1DLayeredWidth = 61, cudaDevAttrMaxSurface1DLayeredLayers = 62, cudaDevAttrMaxSurface2DLayeredWidth = 63, cudaDevAttrMaxSurface2DLayeredHeight = 64, cudaDevAttrMaxSurface2DLayeredLayers = 65, cudaDevAttrMaxSurfaceCubemapWidth = 66, cudaDevAttrMaxSurfaceCubemapLayeredWidth = 67, cudaDevAttrMaxSurfaceCubemapLayeredLayers = 68, cudaDevAttrMaxTexture1DLinearWidth = 69, cudaDevAttrMaxTexture2DLinearWidth = 70, cudaDevAttrMaxTexture2DLinearHeight = 71, cudaDevAttrMaxTexture2DLinearPitch = 72, cudaDevAttrMaxTexture2DMipmappedWidth = 73, cudaDevAttrMaxTexture2DMipmappedHeight = 74, cudaDevAttrComputeCapabilityMajor = 75, cudaDevAttrComputeCapabilityMinor = 76, cudaDevAttrMaxTexture1DMipmappedWidth = 77, cudaDevAttrStreamPrioritiesSupported = 78, cudaDevAttrGlobalL1CacheSupported = 79, cudaDevAttrLocalL1CacheSupported = 80, cudaDevAttrMaxSharedMemoryPerMultiprocessor = 81, cudaDevAttrMaxRegistersPerMultiprocessor = 82, cudaDevAttrManagedMemory = 83, cudaDevAttrIsMultiGpuBoard = 84, cudaDevAttrMultiGpuBoardGroupID = 85, cudaDevAttrHostNativeAtomicSupported = 86, cudaDevAttrSingleToDoublePrecisionPerfRatio = 87, cudaDevAttrPageableMemoryAccess = 88, cudaDevAttrConcurrentManagedAccess = 89, cudaDevAttrComputePreemptionSupported = 90, cudaDevAttrCanUseHostPointerForRegisteredMem = 91, cudaDevAttrReserved92 = 92, cudaDevAttrReserved93 = 93, cudaDevAttrReserved94 = 94, cudaDevAttrCooperativeLaunch = 95, cudaDevAttrCooperativeMultiDeviceLaunch = 96, cudaDevAttrMaxSharedMemoryPerBlockOptin = 97, cudaDevAttrCanFlushRemoteWrites = 98, cudaDevAttrHostRegisterSupported = 99, cudaDevAttrPageableMemoryAccessUsesHostPageTables = 100, cudaDevAttrDirectManagedMemAccessFromHost = 101 }; enum __device_builtin__ cudaDeviceP2PAttr { cudaDevP2PAttrPerformanceRank = 1, cudaDevP2PAttrAccessSupported = 2, cudaDevP2PAttrNativeAtomicSupported = 3, cudaDevP2PAttrCudaArrayAccessSupported = 4 }; #ifndef CU_UUID_HAS_BEEN_DEFINED #define CU_UUID_HAS_BEEN_DEFINED struct __device_builtin__ CUuuid_st { char bytes[16]; }; typedef __device_builtin__ struct CUuuid_st CUuuid; #endif typedef __device_builtin__ struct CUuuid_st cudaUUID_t; struct __device_builtin__ cudaDeviceProp { char name[256]; cudaUUID_t uuid; char luid[8]; unsigned int luidDeviceNodeMask; size_t totalGlobalMem; size_t sharedMemPerBlock; int regsPerBlock; int warpSize; size_t memPitch; int maxThreadsPerBlock; int maxThreadsDim[3]; int maxGridSize[3]; int clockRate; size_t totalConstMem; int major; int minor; size_t textureAlignment; size_t texturePitchAlignment; int deviceOverlap; int multiProcessorCount; int kernelExecTimeoutEnabled; int integrated; int canMapHostMemory; int computeMode; int maxTexture1D; int maxTexture1DMipmap; int maxTexture1DLinear; int maxTexture2D[2]; int maxTexture2DMipmap[2]; int maxTexture2DLinear[3]; int maxTexture2DGather[2]; int maxTexture3D[3]; int maxTexture3DAlt[3]; int maxTextureCubemap; int maxTexture1DLayered[2]; int maxTexture2DLayered[3]; int maxTextureCubemapLayered[2]; int maxSurface1D; int maxSurface2D[2]; int maxSurface3D[3]; int maxSurface1DLayered[2]; int maxSurface2DLayered[3]; int maxSurfaceCubemap; int maxSurfaceCubemapLayered[2]; size_t surfaceAlignment; int concurrentKernels; int ECCEnabled; int pciBusID; int pciDeviceID; int pciDomainID; int tccDriver; int asyncEngineCount; int unifiedAddressing; int memoryClockRate; int memoryBusWidth; int l2CacheSize; int maxThreadsPerMultiProcessor; int streamPrioritiesSupported; int globalL1CacheSupported; int localL1CacheSupported; size_t sharedMemPerMultiprocessor; int regsPerMultiprocessor; int managedMemory; int isMultiGpuBoard; int multiGpuBoardGroupID; int hostNativeAtomicSupported; int singleToDoublePrecisionPerfRatio; int pageableMemoryAccess; int concurrentManagedAccess; int computePreemptionSupported; int canUseHostPointerForRegisteredMem; int cooperativeLaunch; int cooperativeMultiDeviceLaunch; size_t sharedMemPerBlockOptin; int pageableMemoryAccessUsesHostPageTables; int directManagedMemAccessFromHost; }; #define cudaDevicePropDontCare \ { \ {'\0'}, \ {{0}}, \ {'\0'}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ 0, \ -1, \ -1, \ 0, \ 0, \ -1, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ {0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ 0, \ {0, 0}, \ {0, 0, 0}, \ {0, 0}, \ {0, 0, 0}, \ 0, \ {0, 0}, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ 0, \ } #define CUDA_IPC_HANDLE_SIZE 64 typedef __device_builtin__ struct __device_builtin__ cudaIpcEventHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcEventHandle_t; typedef __device_builtin__ struct __device_builtin__ cudaIpcMemHandle_st { char reserved[CUDA_IPC_HANDLE_SIZE]; }cudaIpcMemHandle_t; enum __device_builtin__ cudaExternalMemoryHandleType { cudaExternalMemoryHandleTypeOpaqueFd = 1, cudaExternalMemoryHandleTypeOpaqueWin32 = 2, cudaExternalMemoryHandleTypeOpaqueWin32Kmt = 3, cudaExternalMemoryHandleTypeD3D12Heap = 4, cudaExternalMemoryHandleTypeD3D12Resource = 5, cudaExternalMemoryHandleTypeD3D11Resource = 6, cudaExternalMemoryHandleTypeD3D11ResourceKmt = 7, cudaExternalMemoryHandleTypeNvSciBuf = 8 }; #define cudaExternalMemoryDedicated 0x1 #define cudaExternalSemaphoreSignalSkipNvSciBufMemSync 0x01 #define cudaExternalSemaphoreWaitSkipNvSciBufMemSync 0x02 #define cudaNvSciSyncAttrSignal 0x1 #define cudaNvSciSyncAttrWait 0x2 struct __device_builtin__ cudaExternalMemoryHandleDesc { enum cudaExternalMemoryHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void *nvSciBufObject; } handle; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryBufferDesc { unsigned long long offset; unsigned long long size; unsigned int flags; }; struct __device_builtin__ cudaExternalMemoryMipmappedArrayDesc { unsigned long long offset; struct cudaChannelFormatDesc formatDesc; struct cudaExtent extent; unsigned int flags; unsigned int numLevels; }; enum __device_builtin__ cudaExternalSemaphoreHandleType { cudaExternalSemaphoreHandleTypeOpaqueFd = 1, cudaExternalSemaphoreHandleTypeOpaqueWin32 = 2, cudaExternalSemaphoreHandleTypeOpaqueWin32Kmt = 3, cudaExternalSemaphoreHandleTypeD3D12Fence = 4, cudaExternalSemaphoreHandleTypeD3D11Fence = 5, cudaExternalSemaphoreHandleTypeNvSciSync = 6, cudaExternalSemaphoreHandleTypeKeyedMutex = 7, cudaExternalSemaphoreHandleTypeKeyedMutexKmt = 8 }; struct __device_builtin__ cudaExternalSemaphoreHandleDesc { enum cudaExternalSemaphoreHandleType type; union { int fd; struct { void *handle; const void *name; } win32; const void* nvSciSyncObj; } handle; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreSignalParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; } keyedMutex; } params; unsigned int flags; }; struct __device_builtin__ cudaExternalSemaphoreWaitParams { struct { struct { unsigned long long value; } fence; union { void *fence; unsigned long long reserved; } nvSciSync; struct { unsigned long long key; unsigned int timeoutMs; } keyedMutex; } params; unsigned int flags; }; typedef __device_builtin__ enum cudaError cudaError_t; typedef __device_builtin__ struct CUstream_st *cudaStream_t; typedef __device_builtin__ struct CUevent_st *cudaEvent_t; typedef __device_builtin__ struct cudaGraphicsResource *cudaGraphicsResource_t; typedef __device_builtin__ enum cudaOutputMode cudaOutputMode_t; typedef __device_builtin__ struct CUexternalMemory_st *cudaExternalMemory_t; typedef __device_builtin__ struct CUexternalSemaphore_st *cudaExternalSemaphore_t; typedef __device_builtin__ struct CUgraph_st *cudaGraph_t; typedef __device_builtin__ struct CUgraphNode_st *cudaGraphNode_t; enum __device_builtin__ cudaCGScope { cudaCGScopeInvalid = 0, cudaCGScopeGrid = 1, cudaCGScopeMultiGrid = 2 }; struct __device_builtin__ cudaLaunchParams { void *func; dim3 gridDim; dim3 blockDim; void **args; size_t sharedMem; cudaStream_t stream; }; struct __device_builtin__ cudaKernelNodeParams { void* func; dim3 gridDim; dim3 blockDim; unsigned int sharedMemBytes; void **kernelParams; void **extra; }; enum __device_builtin__ cudaGraphNodeType { cudaGraphNodeTypeKernel = 0x00, cudaGraphNodeTypeMemcpy = 0x01, cudaGraphNodeTypeMemset = 0x02, cudaGraphNodeTypeHost = 0x03, cudaGraphNodeTypeGraph = 0x04, cudaGraphNodeTypeEmpty = 0x05, cudaGraphNodeTypeCount }; typedef struct CUgraphExec_st* cudaGraphExec_t; enum __device_builtin__ cudaGraphExecUpdateResult { cudaGraphExecUpdateSuccess = 0x0, cudaGraphExecUpdateError = 0x1, cudaGraphExecUpdateErrorTopologyChanged = 0x2, cudaGraphExecUpdateErrorNodeTypeChanged = 0x3, cudaGraphExecUpdateErrorFunctionChanged = 0x4, cudaGraphExecUpdateErrorParametersChanged = 0x5, cudaGraphExecUpdateErrorNotSupported = 0x6 }; #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_DRIVER_TYPES_H__ #endif #undef __CUDA_DEPRECATED #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif extern "C" { extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetLastError(void); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorString(cudaError_t error); extern __device__ __cudart_builtin__ const char* CUDARTAPI cudaGetErrorName(cudaError_t error); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDeviceCount(int *count); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamDestroy(cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaStreamWaitEvent_ptsz(cudaStream_t stream, cudaEvent_t event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventRecord_ptsz(cudaEvent_t event, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFree(void *devPtr); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMalloc(void **devPtr, size_t size); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync_ptsz(void *dst, const void *src, size_t count, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync_ptsz(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, enum cudaMemcpyKind kind, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy3DAsync_ptsz(const struct cudaMemcpy3DParms *p, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemsetAsync_ptsz(void *devPtr, int value, size_t count, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync_ptsz(void *devPtr, size_t pitch, int value, size_t width, size_t height, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync_ptsz(struct cudaPitchedPtr pitchedDevPtr, int value, struct cudaExtent extent, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBuffer(size_t alignment, size_t size); extern __device__ __cudart_builtin__ void * CUDARTAPI cudaGetParameterBufferV2(void *func, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice_ptsz(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2_ptsz(void *parameterBuffer, cudaStream_t stream); #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) && defined(__CUDA_ARCH__) static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream) { return cudaLaunchDevice_ptsz(func, parameterBuffer, gridDimension, blockDimension, sharedMemSize, stream); } static __inline__ __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream) { return cudaLaunchDeviceV2_ptsz(parameterBuffer, stream); } #else extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(void *func, void *parameterBuffer, dim3 gridDimension, dim3 blockDimension, unsigned int sharedMemSize, cudaStream_t stream); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream); #endif extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, const void *func, int blockSize, size_t dynamicSmemSize, unsigned int flags); extern __device__ __cudart_builtin__ unsigned long long CUDARTAPI cudaCGGetIntrinsicHandle(enum cudaCGScope scope); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronize(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGSynchronizeGrid(unsigned long long handle, unsigned int flags); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetSize(unsigned int *numThreads, unsigned int *numGrids, unsigned long long handle); extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaCGGetRank(unsigned int *threadRank, unsigned int *gridRank, unsigned long long handle); } template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaMalloc(T **devPtr, size_t size); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize); template static __inline__ __device__ __cudart_builtin__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(int *numBlocks, T func, int blockSize, size_t dynamicSmemSize, unsigned int flags); #endif #endif #endif #if defined(CUDA_API_PER_THREAD_DEFAULT_STREAM) || defined(__CUDA_API_VERSION_INTERNAL) #define __CUDART_API_PER_THREAD_DEFAULT_STREAM #define __CUDART_API_PTDS(api) api ## _ptds #define __CUDART_API_PTSZ(api) api ## _ptsz #else #define __CUDART_API_PTDS(api) api #define __CUDART_API_PTSZ(api) api #endif #if defined(__CUDART_API_PER_THREAD_DEFAULT_STREAM) #define cudaMemcpy __CUDART_API_PTDS(cudaMemcpy) #define cudaMemcpyToSymbol __CUDART_API_PTDS(cudaMemcpyToSymbol) #define cudaMemcpyFromSymbol __CUDART_API_PTDS(cudaMemcpyFromSymbol) #define cudaMemcpy2D __CUDART_API_PTDS(cudaMemcpy2D) #define cudaMemcpyToArray __CUDART_API_PTDS(cudaMemcpyToArray) #define cudaMemcpy2DToArray __CUDART_API_PTDS(cudaMemcpy2DToArray) #define cudaMemcpyFromArray __CUDART_API_PTDS(cudaMemcpyFromArray) #define cudaMemcpy2DFromArray __CUDART_API_PTDS(cudaMemcpy2DFromArray) #define cudaMemcpyArrayToArray __CUDART_API_PTDS(cudaMemcpyArrayToArray) #define cudaMemcpy2DArrayToArray __CUDART_API_PTDS(cudaMemcpy2DArrayToArray) #define cudaMemcpy3D __CUDART_API_PTDS(cudaMemcpy3D) #define cudaMemcpy3DPeer __CUDART_API_PTDS(cudaMemcpy3DPeer) #define cudaMemset __CUDART_API_PTDS(cudaMemset) #define cudaMemset2D __CUDART_API_PTDS(cudaMemset2D) #define cudaMemset3D __CUDART_API_PTDS(cudaMemset3D) #define cudaGraphLaunch __CUDART_API_PTSZ(cudaGraphLaunch) #define cudaStreamBeginCapture __CUDART_API_PTSZ(cudaStreamBeginCapture) #define cudaStreamEndCapture __CUDART_API_PTSZ(cudaStreamEndCapture) #define cudaStreamIsCapturing __CUDART_API_PTSZ(cudaStreamIsCapturing) #define cudaStreamGetCaptureInfo __CUDART_API_PTSZ(cudaStreamGetCaptureInfo) #define cudaMemcpyAsync __CUDART_API_PTSZ(cudaMemcpyAsync) #define cudaMemcpyToSymbolAsync __CUDART_API_PTSZ(cudaMemcpyToSymbolAsync) #define cudaMemcpyFromSymbolAsync __CUDART_API_PTSZ(cudaMemcpyFromSymbolAsync) #define cudaMemcpy2DAsync __CUDART_API_PTSZ(cudaMemcpy2DAsync) #define cudaMemcpyToArrayAsync __CUDART_API_PTSZ(cudaMemcpyToArrayAsync) #define cudaMemcpy2DToArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DToArrayAsync) #define cudaMemcpyFromArrayAsync __CUDART_API_PTSZ(cudaMemcpyFromArrayAsync) #define cudaMemcpy2DFromArrayAsync __CUDART_API_PTSZ(cudaMemcpy2DFromArrayAsync) #define cudaMemcpy3DAsync __CUDART_API_PTSZ(cudaMemcpy3DAsync) #define cudaMemcpy3DPeerAsync __CUDART_API_PTSZ(cudaMemcpy3DPeerAsync) #define cudaMemsetAsync __CUDART_API_PTSZ(cudaMemsetAsync) #define cudaMemset2DAsync __CUDART_API_PTSZ(cudaMemset2DAsync) #define cudaMemset3DAsync __CUDART_API_PTSZ(cudaMemset3DAsync) #define cudaStreamQuery __CUDART_API_PTSZ(cudaStreamQuery) #define cudaStreamGetFlags __CUDART_API_PTSZ(cudaStreamGetFlags) #define cudaStreamGetPriority __CUDART_API_PTSZ(cudaStreamGetPriority) #define cudaEventRecord __CUDART_API_PTSZ(cudaEventRecord) #define cudaStreamWaitEvent __CUDART_API_PTSZ(cudaStreamWaitEvent) #define cudaStreamAddCallback __CUDART_API_PTSZ(cudaStreamAddCallback) #define cudaStreamAttachMemAsync __CUDART_API_PTSZ(cudaStreamAttachMemAsync) #define cudaStreamSynchronize __CUDART_API_PTSZ(cudaStreamSynchronize) #define cudaLaunchKernel __CUDART_API_PTSZ(cudaLaunchKernel) #define cudaLaunchHostFunc __CUDART_API_PTSZ(cudaLaunchHostFunc) #define cudaMemPrefetchAsync __CUDART_API_PTSZ(cudaMemPrefetchAsync) #define cudaLaunchCooperativeKernel __CUDART_API_PTSZ(cudaLaunchCooperativeKernel) #define cudaSignalExternalSemaphoresAsync __CUDART_API_PTSZ(cudaSignalExternalSemaphoresAsync) #define cudaWaitExternalSemaphoresAsync __CUDART_API_PTSZ(cudaWaitExternalSemaphoresAsync) #endif #if !defined(__dv) #if defined(__cplusplus) #define __dv(v) \ = v #else #define __dv(v) #endif #endif #if (!defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)) #define CUDART_DEVICE __device__ #else #define CUDART_DEVICE #endif #if !defined(__CUDACC_RTC__) #endif #undef __dv #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_API_H__ #endif #endif template struct __device_builtin_texture_type__ texture : public textureReference { #if !defined(__CUDACC_RTC__) __host__ texture(int norm = 0, enum cudaTextureFilterMode fMode = cudaFilterModePoint, enum cudaTextureAddressMode aMode = cudaAddressModeClamp) { normalized = norm; filterMode = fMode; addressMode[0] = aMode; addressMode[1] = aMode; addressMode[2] = aMode; channelDesc = cudaCreateChannelDesc(); sRGB = 0; } __host__ texture(int norm, enum cudaTextureFilterMode fMode, enum cudaTextureAddressMode aMode, struct cudaChannelFormatDesc desc) { normalized = norm; filterMode = fMode; addressMode[0] = aMode; addressMode[1] = aMode; addressMode[2] = aMode; channelDesc = desc; sRGB = 0; } #endif }; #endif #endif #if !defined(__DEVICE_LAUNCH_PARAMETERS_H__) #define __DEVICE_LAUNCH_PARAMETERS_H__ #if !defined(__VECTOR_TYPES_H__) #define __VECTOR_TYPES_H__ #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #if !defined(__CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__) #if defined(_MSC_VER) #pragma message("crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead.") #else #warning "crt/host_defines.h is an internal header file and must not be used directly. Please use cuda_runtime_api.h or cuda_runtime.h instead." #endif #define __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #define __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__HOST_DEFINES_H__) #define __HOST_DEFINES_H__ #if defined(__GNUC__) || (defined(__PGIC__) && defined(__linux__)) || defined(__CUDA_LIBDEVICE__) || defined(__CUDACC_RTC__) #if defined(__CUDACC_RTC__) #define __volatile__ volatile #endif #define __no_return__ \ __attribute__((noreturn)) #if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__) #define __noinline__ \ __attribute__((noinline)) #endif #define __forceinline__ \ __inline__ __attribute__((always_inline)) #define __align__(n) \ __attribute__((aligned(n))) #define __thread__ \ __thread #define __import__ #define __export__ #define __cdecl #define __annotate__(a) \ __attribute__((a)) #define __location__(a) \ __annotate__(a) #define CUDARTAPI #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #define __restrict__ \ __restrict #else #define __restrict__ #endif #define __inline__ \ __inline #define __no_return__ \ __declspec(noreturn) #define __noinline__ \ __declspec(noinline) #define __forceinline__ \ __forceinline #define __align__(n) \ __declspec(align(n)) #define __thread__ \ __declspec(thread) #define __import__ \ __declspec(dllimport) #define __export__ \ __declspec(dllexport) #define __annotate__(a) \ __declspec(a) #define __location__(a) \ __annotate__(__##a##__) #define CUDARTAPI \ __stdcall #else #define __inline__ #if !defined(__align__) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for '__align__' !!! --- #endif #if !defined(CUDARTAPI) #error --- !!! UNKNOWN COMPILER: please provide a CUDA compatible definition for 'CUDARTAPI' !!! --- #endif #endif #if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3 && !defined(__clang__)))) || \ (defined(_MSC_VER) && _MSC_VER < 1900) || \ (!defined(__GNUC__) && !defined(_MSC_VER)) #define __specialization_static \ static #else #define __specialization_static #endif #if !defined(__CUDACC__) && !defined(__CUDA_LIBDEVICE__) #undef __annotate__ #define __annotate__(a) #else #define __launch_bounds__(...) \ __annotate__(launch_bounds(__VA_ARGS__)) #endif #if defined(__CUDACC__) || defined(__CUDA_LIBDEVICE__) || \ defined(__GNUC__) || defined(_WIN64) #define __builtin_align__(a) \ __align__(a) #else #define __builtin_align__(a) #endif #if defined(__CUDACC__) || !defined(__host__) #define __host__ \ __location__(host) #endif #if defined(__CUDACC__) || !defined(__device__) #define __device__ \ __location__(device) #endif #if defined(__CUDACC__) || !defined(__global__) #define __global__ \ __location__(global) #endif #if defined(__CUDACC__) || !defined(__shared__) #define __shared__ \ __location__(shared) #endif #if defined(__CUDACC__) || !defined(__constant__) #define __constant__ \ __location__(constant) #endif #if defined(__CUDACC__) || !defined(__managed__) #define __managed__ \ __location__(managed) #endif #if !defined(__CUDACC__) #define __device_builtin__ #define __device_builtin_texture_type__ #define __device_builtin_surface_type__ #define __cudart_builtin__ #else #define __device_builtin__ \ __location__(device_builtin) #define __device_builtin_texture_type__ \ __location__(device_builtin_texture_type) #define __device_builtin_surface_type__ \ __location__(device_builtin_surface_type) #define __cudart_builtin__ \ __location__(cudart_builtin) #endif #endif #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_HOST_DEFINES_H__ #endif #if !defined(__CUDACC__) && !defined(__CUDACC_RTC__) && \ defined(_WIN32) && !defined(_WIN64) #pragma warning(push) #pragma warning(disable: 4201 4408) #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ tag \ { \ union \ { \ struct { members }; \ struct { long long int :1,:0; }; \ }; \ } #else #define __cuda_builtin_vector_align8(tag, members) \ struct __device_builtin__ __align__(8) tag \ { \ members \ } #endif struct __device_builtin__ char1 { signed char x; }; struct __device_builtin__ uchar1 { unsigned char x; }; struct __device_builtin__ __align__(2) char2 { signed char x, y; }; struct __device_builtin__ __align__(2) uchar2 { unsigned char x, y; }; struct __device_builtin__ char3 { signed char x, y, z; }; struct __device_builtin__ uchar3 { unsigned char x, y, z; }; struct __device_builtin__ __align__(4) char4 { signed char x, y, z, w; }; struct __device_builtin__ __align__(4) uchar4 { unsigned char x, y, z, w; }; struct __device_builtin__ short1 { short x; }; struct __device_builtin__ ushort1 { unsigned short x; }; struct __device_builtin__ __align__(4) short2 { short x, y; }; struct __device_builtin__ __align__(4) ushort2 { unsigned short x, y; }; struct __device_builtin__ short3 { short x, y, z; }; struct __device_builtin__ ushort3 { unsigned short x, y, z; }; __cuda_builtin_vector_align8(short4, short x; short y; short z; short w;); __cuda_builtin_vector_align8(ushort4, unsigned short x; unsigned short y; unsigned short z; unsigned short w;); struct __device_builtin__ int1 { int x; }; struct __device_builtin__ uint1 { unsigned int x; }; __cuda_builtin_vector_align8(int2, int x; int y;); __cuda_builtin_vector_align8(uint2, unsigned int x; unsigned int y;); struct __device_builtin__ int3 { int x, y, z; }; struct __device_builtin__ uint3 { unsigned int x, y, z; }; struct __device_builtin__ __builtin_align__(16) int4 { int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) uint4 { unsigned int x, y, z, w; }; struct __device_builtin__ long1 { long int x; }; struct __device_builtin__ ulong1 { unsigned long x; }; #if defined(_WIN32) __cuda_builtin_vector_align8(long2, long int x; long int y;); __cuda_builtin_vector_align8(ulong2, unsigned long int x; unsigned long int y;); #else struct __device_builtin__ __align__(2*sizeof(long int)) long2 { long int x, y; }; struct __device_builtin__ __align__(2*sizeof(unsigned long int)) ulong2 { unsigned long int x, y; }; #endif struct __device_builtin__ long3 { long int x, y, z; }; struct __device_builtin__ ulong3 { unsigned long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) long4 { long int x, y, z, w; }; struct __device_builtin__ __builtin_align__(16) ulong4 { unsigned long int x, y, z, w; }; struct __device_builtin__ float1 { float x; }; #if !defined(__CUDACC__) && defined(__arm__) && \ defined(__ARM_PCS_VFP) && __GNUC__ == 4 && __GNUC_MINOR__ == 6 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-pedantic" struct __device_builtin__ __attribute__((aligned(8))) float2 { float x; float y; float __cuda_gnu_arm_ice_workaround[0]; }; #pragma GCC poison __cuda_gnu_arm_ice_workaround #pragma GCC diagnostic pop #else __cuda_builtin_vector_align8(float2, float x; float y;); #endif struct __device_builtin__ float3 { float x, y, z; }; struct __device_builtin__ __builtin_align__(16) float4 { float x, y, z, w; }; struct __device_builtin__ longlong1 { long long int x; }; struct __device_builtin__ ulonglong1 { unsigned long long int x; }; struct __device_builtin__ __builtin_align__(16) longlong2 { long long int x, y; }; struct __device_builtin__ __builtin_align__(16) ulonglong2 { unsigned long long int x, y; }; struct __device_builtin__ longlong3 { long long int x, y, z; }; struct __device_builtin__ ulonglong3 { unsigned long long int x, y, z; }; struct __device_builtin__ __builtin_align__(16) longlong4 { long long int x, y, z ,w; }; struct __device_builtin__ __builtin_align__(16) ulonglong4 { unsigned long long int x, y, z, w; }; struct __device_builtin__ double1 { double x; }; struct __device_builtin__ __builtin_align__(16) double2 { double x, y; }; struct __device_builtin__ double3 { double x, y, z; }; struct __device_builtin__ __builtin_align__(16) double4 { double x, y, z, w; }; #if !defined(__CUDACC__) && defined(_WIN32) && !defined(_WIN64) #pragma warning(pop) #endif typedef __device_builtin__ struct char1 char1; typedef __device_builtin__ struct uchar1 uchar1; typedef __device_builtin__ struct char2 char2; typedef __device_builtin__ struct uchar2 uchar2; typedef __device_builtin__ struct char3 char3; typedef __device_builtin__ struct uchar3 uchar3; typedef __device_builtin__ struct char4 char4; typedef __device_builtin__ struct uchar4 uchar4; typedef __device_builtin__ struct short1 short1; typedef __device_builtin__ struct ushort1 ushort1; typedef __device_builtin__ struct short2 short2; typedef __device_builtin__ struct ushort2 ushort2; typedef __device_builtin__ struct short3 short3; typedef __device_builtin__ struct ushort3 ushort3; typedef __device_builtin__ struct short4 short4; typedef __device_builtin__ struct ushort4 ushort4; typedef __device_builtin__ struct int1 int1; typedef __device_builtin__ struct uint1 uint1; typedef __device_builtin__ struct int2 int2; typedef __device_builtin__ struct uint2 uint2; typedef __device_builtin__ struct int3 int3; typedef __device_builtin__ struct uint3 uint3; typedef __device_builtin__ struct int4 int4; typedef __device_builtin__ struct uint4 uint4; typedef __device_builtin__ struct long1 long1; typedef __device_builtin__ struct ulong1 ulong1; typedef __device_builtin__ struct long2 long2; typedef __device_builtin__ struct ulong2 ulong2; typedef __device_builtin__ struct long3 long3; typedef __device_builtin__ struct ulong3 ulong3; typedef __device_builtin__ struct long4 long4; typedef __device_builtin__ struct ulong4 ulong4; typedef __device_builtin__ struct float1 float1; typedef __device_builtin__ struct float2 float2; typedef __device_builtin__ struct float3 float3; typedef __device_builtin__ struct float4 float4; typedef __device_builtin__ struct longlong1 longlong1; typedef __device_builtin__ struct ulonglong1 ulonglong1; typedef __device_builtin__ struct longlong2 longlong2; typedef __device_builtin__ struct ulonglong2 ulonglong2; typedef __device_builtin__ struct longlong3 longlong3; typedef __device_builtin__ struct ulonglong3 ulonglong3; typedef __device_builtin__ struct longlong4 longlong4; typedef __device_builtin__ struct ulonglong4 ulonglong4; typedef __device_builtin__ struct double1 double1; typedef __device_builtin__ struct double2 double2; typedef __device_builtin__ struct double3 double3; typedef __device_builtin__ struct double4 double4; struct __device_builtin__ dim3 { unsigned int x, y, z; #if defined(__cplusplus) #if __cplusplus >= 201103L __host__ __device__ constexpr dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ constexpr dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ constexpr operator uint3(void) const { return uint3{x, y, z}; } #else __host__ __device__ dim3(unsigned int vx = 1, unsigned int vy = 1, unsigned int vz = 1) : x(vx), y(vy), z(vz) {} __host__ __device__ dim3(uint3 v) : x(v.x), y(v.y), z(v.z) {} __host__ __device__ operator uint3(void) const { uint3 t; t.x = x; t.y = y; t.z = z; return t; } #endif #endif }; typedef __device_builtin__ struct dim3 dim3; #undef __cuda_builtin_vector_align8 #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_VECTOR_TYPES_H__ #endif #endif #if !defined(__STORAGE__) #if defined(__CUDACC_RTC__) #define __STORAGE__ \ extern const __device__ #else #define __STORAGE__ \ extern const #endif #endif #if defined(__cplusplus) extern "C" { #endif uint3 __device_builtin__ __STORAGE__ threadIdx; uint3 __device_builtin__ __STORAGE__ blockIdx; dim3 __device_builtin__ __STORAGE__ blockDim; dim3 __device_builtin__ __STORAGE__ gridDim; int __device_builtin__ __STORAGE__ warpSize; #undef __STORAGE__ #if defined(__cplusplus) } #endif #if !defined(__cudaGet_threadIdx) #define __cudaGet_threadIdx() \ threadIdx #endif #if !defined(__cudaGet_blockIdx) #define __cudaGet_blockIdx() \ blockIdx #endif #if !defined(__cudaGet_blockDim) #define __cudaGet_blockDim() \ blockDim #endif #if !defined(__cudaGet_gridDim) #define __cudaGet_gridDim() \ gridDim #endif #if !defined(__cudaGet_warpSize) #define __cudaGet_warpSize() \ warpSize #endif #endif #else #endif #endif #if defined(__DOXYGEN_ONLY__) || defined(CUDA_ENABLE_DEPRECATED) #define __CUDA_DEPRECATED #elif defined(_MSC_VER) #define __CUDA_DEPRECATED __declspec(deprecated) #elif defined(__GNUC__) #define __CUDA_DEPRECATED __attribute__((deprecated)) #else #define __CUDA_DEPRECATED #endif #if defined(__cplusplus) && !defined(__CUDACC_RTC__) template static __inline__ __host__ cudaError_t cudaLaunchKernel( const T *func, dim3 gridDim, dim3 blockDim, void **args, size_t sharedMem = 0, cudaStream_t stream = 0 ) { return ::cudaLaunchKernel((const void *)func, gridDim, blockDim, args, sharedMem, stream); } template static __inline__ __host__ cudaError_t cudaLaunchCooperativeKernel( const T *func, dim3 gridDim, dim3 blockDim, void **args, size_t sharedMem = 0, cudaStream_t stream = 0 ) { return ::cudaLaunchCooperativeKernel((const void *)func, gridDim, blockDim, args, sharedMem, stream); } static __inline__ __host__ cudaError_t cudaEventCreate( cudaEvent_t *event, unsigned int flags ) { return ::cudaEventCreateWithFlags(event, flags); } static __inline__ __host__ cudaError_t cudaMallocHost( void **ptr, size_t size, unsigned int flags ) { return ::cudaHostAlloc(ptr, size, flags); } template static __inline__ __host__ cudaError_t cudaHostAlloc( T **ptr, size_t size, unsigned int flags ) { return ::cudaHostAlloc((void**)(void*)ptr, size, flags); } template static __inline__ __host__ cudaError_t cudaHostGetDevicePointer( T **pDevice, void *pHost, unsigned int flags ) { return ::cudaHostGetDevicePointer((void**)(void*)pDevice, pHost, flags); } template static __inline__ __host__ cudaError_t cudaMallocManaged( T **devPtr, size_t size, unsigned int flags = cudaMemAttachGlobal ) { return ::cudaMallocManaged((void**)(void*)devPtr, size, flags); } template static __inline__ __host__ cudaError_t cudaStreamAttachMemAsync( cudaStream_t stream, T *devPtr, size_t length = 0, unsigned int flags = cudaMemAttachSingle ) { return ::cudaStreamAttachMemAsync(stream, (void*)devPtr, length, flags); } template static __inline__ __host__ cudaError_t cudaMalloc( T **devPtr, size_t size ) { return ::cudaMalloc((void**)(void*)devPtr, size); } template static __inline__ __host__ cudaError_t cudaMallocHost( T **ptr, size_t size, unsigned int flags = 0 ) { return cudaMallocHost((void**)(void*)ptr, size, flags); } template static __inline__ __host__ cudaError_t cudaMallocPitch( T **devPtr, size_t *pitch, size_t width, size_t height ) { return ::cudaMallocPitch((void**)(void*)devPtr, pitch, width, height); } #if defined(__CUDACC__) template static __inline__ __host__ cudaError_t cudaMemcpyToSymbol( const T &symbol, const void *src, size_t count, size_t offset = 0, enum cudaMemcpyKind kind = cudaMemcpyHostToDevice ) { return ::cudaMemcpyToSymbol((const void*)&symbol, src, count, offset, kind); } template static __inline__ __host__ cudaError_t cudaMemcpyToSymbolAsync( const T &symbol, const void *src, size_t count, size_t offset = 0, enum cudaMemcpyKind kind = cudaMemcpyHostToDevice, cudaStream_t stream = 0 ) { return ::cudaMemcpyToSymbolAsync((const void*)&symbol, src, count, offset, kind, stream); } template static __inline__ __host__ cudaError_t cudaMemcpyFromSymbol( void *dst, const T &symbol, size_t count, size_t offset = 0, enum cudaMemcpyKind kind = cudaMemcpyDeviceToHost ) { return ::cudaMemcpyFromSymbol(dst, (const void*)&symbol, count, offset, kind); } template static __inline__ __host__ cudaError_t cudaMemcpyFromSymbolAsync( void *dst, const T &symbol, size_t count, size_t offset = 0, enum cudaMemcpyKind kind = cudaMemcpyDeviceToHost, cudaStream_t stream = 0 ) { return ::cudaMemcpyFromSymbolAsync(dst, (const void*)&symbol, count, offset, kind, stream); } template static __inline__ __host__ cudaError_t cudaGetSymbolAddress( void **devPtr, const T &symbol ) { return ::cudaGetSymbolAddress(devPtr, (const void*)&symbol); } template static __inline__ __host__ cudaError_t cudaGetSymbolSize( size_t *size, const T &symbol ) { return ::cudaGetSymbolSize(size, (const void*)&symbol); } template static __inline__ __host__ cudaError_t cudaBindTexture( size_t *offset, const struct texture &tex, const void *devPtr, const struct cudaChannelFormatDesc &desc, size_t size = UINT_MAX ) { return ::cudaBindTexture(offset, &tex, devPtr, &desc, size); } template static __inline__ __host__ cudaError_t cudaBindTexture( size_t *offset, const struct texture &tex, const void *devPtr, size_t size = UINT_MAX ) { return cudaBindTexture(offset, tex, devPtr, tex.channelDesc, size); } template static __inline__ __host__ cudaError_t cudaBindTexture2D( size_t *offset, const struct texture &tex, const void *devPtr, const struct cudaChannelFormatDesc &desc, size_t width, size_t height, size_t pitch ) { return ::cudaBindTexture2D(offset, &tex, devPtr, &desc, width, height, pitch); } template static __inline__ __host__ cudaError_t cudaBindTexture2D( size_t *offset, const struct texture &tex, const void *devPtr, size_t width, size_t height, size_t pitch ) { return ::cudaBindTexture2D(offset, &tex, devPtr, &tex.channelDesc, width, height, pitch); } template static __inline__ __host__ cudaError_t cudaBindTextureToArray( const struct texture &tex, cudaArray_const_t array, const struct cudaChannelFormatDesc &desc ) { return ::cudaBindTextureToArray(&tex, array, &desc); } template static __inline__ __host__ cudaError_t cudaBindTextureToArray( const struct texture &tex, cudaArray_const_t array ) { struct cudaChannelFormatDesc desc; cudaError_t err = ::cudaGetChannelDesc(&desc, array); return err == cudaSuccess ? cudaBindTextureToArray(tex, array, desc) : err; } template static __inline__ __host__ cudaError_t cudaBindTextureToMipmappedArray( const struct texture &tex, cudaMipmappedArray_const_t mipmappedArray, const struct cudaChannelFormatDesc &desc ) { return ::cudaBindTextureToMipmappedArray(&tex, mipmappedArray, &desc); } template static __inline__ __host__ cudaError_t cudaBindTextureToMipmappedArray( const struct texture &tex, cudaMipmappedArray_const_t mipmappedArray ) { struct cudaChannelFormatDesc desc; cudaArray_t levelArray; cudaError_t err = ::cudaGetMipmappedArrayLevel(&levelArray, mipmappedArray, 0); if (err != cudaSuccess) { return err; } err = ::cudaGetChannelDesc(&desc, levelArray); return err == cudaSuccess ? cudaBindTextureToMipmappedArray(tex, mipmappedArray, desc) : err; } template static __inline__ __host__ cudaError_t cudaUnbindTexture( const struct texture &tex ) { return ::cudaUnbindTexture(&tex); } template static __inline__ __host__ cudaError_t cudaGetTextureAlignmentOffset( size_t *offset, const struct texture &tex ) { return ::cudaGetTextureAlignmentOffset(offset, &tex); } template static __inline__ __host__ cudaError_t cudaFuncSetCacheConfig( T *func, enum cudaFuncCache cacheConfig ) { return ::cudaFuncSetCacheConfig((const void*)func, cacheConfig); } template static __inline__ __host__ cudaError_t cudaFuncSetSharedMemConfig( T *func, enum cudaSharedMemConfig config ) { return ::cudaFuncSetSharedMemConfig((const void*)func, config); } template static __inline__ __host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessor( int *numBlocks, T func, int blockSize, size_t dynamicSMemSize) { return ::cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(numBlocks, (const void*)func, blockSize, dynamicSMemSize, cudaOccupancyDefault); } template static __inline__ __host__ cudaError_t cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags( int *numBlocks, T func, int blockSize, size_t dynamicSMemSize, unsigned int flags) { return ::cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(numBlocks, (const void*)func, blockSize, dynamicSMemSize, flags); } class __cudaOccupancyB2DHelper { size_t n; public: inline __host__ CUDART_DEVICE __cudaOccupancyB2DHelper(size_t n_) : n(n_) {} inline __host__ CUDART_DEVICE size_t operator()(int) { return n; } }; template static __inline__ __host__ CUDART_DEVICE cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags( int *minGridSize, int *blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0, unsigned int flags = 0) { cudaError_t status; int device; struct cudaFuncAttributes attr; int maxThreadsPerMultiProcessor; int warpSize; int devMaxThreadsPerBlock; int multiProcessorCount; int funcMaxThreadsPerBlock; int occupancyLimit; int granularity; int maxBlockSize = 0; int numBlocks = 0; int maxOccupancy = 0; int blockSizeToTryAligned; int blockSizeToTry; int blockSizeLimitAligned; int occupancyInBlocks; int occupancyInThreads; size_t dynamicSMemSize; if (!minGridSize || !blockSize || !func) { return cudaErrorInvalidValue; } status = ::cudaGetDevice(&device); if (status != cudaSuccess) { return status; } status = cudaDeviceGetAttribute( &maxThreadsPerMultiProcessor, cudaDevAttrMaxThreadsPerMultiProcessor, device); if (status != cudaSuccess) { return status; } status = cudaDeviceGetAttribute( &warpSize, cudaDevAttrWarpSize, device); if (status != cudaSuccess) { return status; } status = cudaDeviceGetAttribute( &devMaxThreadsPerBlock, cudaDevAttrMaxThreadsPerBlock, device); if (status != cudaSuccess) { return status; } status = cudaDeviceGetAttribute( &multiProcessorCount, cudaDevAttrMultiProcessorCount, device); if (status != cudaSuccess) { return status; } status = cudaFuncGetAttributes(&attr, func); if (status != cudaSuccess) { return status; } funcMaxThreadsPerBlock = attr.maxThreadsPerBlock; occupancyLimit = maxThreadsPerMultiProcessor; granularity = warpSize; if (blockSizeLimit == 0) { blockSizeLimit = devMaxThreadsPerBlock; } if (devMaxThreadsPerBlock < blockSizeLimit) { blockSizeLimit = devMaxThreadsPerBlock; } if (funcMaxThreadsPerBlock < blockSizeLimit) { blockSizeLimit = funcMaxThreadsPerBlock; } blockSizeLimitAligned = ((blockSizeLimit + (granularity - 1)) / granularity) * granularity; for (blockSizeToTryAligned = blockSizeLimitAligned; blockSizeToTryAligned > 0; blockSizeToTryAligned -= granularity) { if (blockSizeLimit < blockSizeToTryAligned) { blockSizeToTry = blockSizeLimit; } else { blockSizeToTry = blockSizeToTryAligned; } dynamicSMemSize = blockSizeToDynamicSMemSize(blockSizeToTry); status = cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags( &occupancyInBlocks, func, blockSizeToTry, dynamicSMemSize, flags); if (status != cudaSuccess) { return status; } occupancyInThreads = blockSizeToTry * occupancyInBlocks; if (occupancyInThreads > maxOccupancy) { maxBlockSize = blockSizeToTry; numBlocks = occupancyInBlocks; maxOccupancy = occupancyInThreads; } if (occupancyLimit == maxOccupancy) { break; } } *minGridSize = numBlocks * multiProcessorCount; *blockSize = maxBlockSize; return status; } template static __inline__ __host__ CUDART_DEVICE cudaError_t cudaOccupancyMaxPotentialBlockSizeVariableSMem( int *minGridSize, int *blockSize, T func, UnaryFunction blockSizeToDynamicSMemSize, int blockSizeLimit = 0) { return cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(minGridSize, blockSize, func, blockSizeToDynamicSMemSize, blockSizeLimit, cudaOccupancyDefault); } template static __inline__ __host__ CUDART_DEVICE cudaError_t cudaOccupancyMaxPotentialBlockSize( int *minGridSize, int *blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0) { return cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(minGridSize, blockSize, func, __cudaOccupancyB2DHelper(dynamicSMemSize), blockSizeLimit, cudaOccupancyDefault); } template static __inline__ __host__ CUDART_DEVICE cudaError_t cudaOccupancyMaxPotentialBlockSizeWithFlags( int *minGridSize, int *blockSize, T func, size_t dynamicSMemSize = 0, int blockSizeLimit = 0, unsigned int flags = 0) { return cudaOccupancyMaxPotentialBlockSizeVariableSMemWithFlags(minGridSize, blockSize, func, __cudaOccupancyB2DHelper(dynamicSMemSize), blockSizeLimit, flags); } template static __inline__ __host__ cudaError_t cudaFuncGetAttributes( struct cudaFuncAttributes *attr, T *entry ) { return ::cudaFuncGetAttributes(attr, (const void*)entry); } template static __inline__ __host__ cudaError_t cudaFuncSetAttribute( T *entry, enum cudaFuncAttribute attr, int value ) { return ::cudaFuncSetAttribute((const void*)entry, attr, value); } template static __CUDA_DEPRECATED __inline__ __host__ cudaError_t cudaBindSurfaceToArray( const struct surface &surf, cudaArray_const_t array, const struct cudaChannelFormatDesc &desc ) { return ::cudaBindSurfaceToArray(&surf, array, &desc); } template static __CUDA_DEPRECATED __inline__ __host__ cudaError_t cudaBindSurfaceToArray( const struct surface &surf, cudaArray_const_t array ) { struct cudaChannelFormatDesc desc; cudaError_t err = ::cudaGetChannelDesc(&desc, array); return err == cudaSuccess ? cudaBindSurfaceToArray(surf, array, desc) : err; } #endif #endif #if !defined(__CUDACC_RTC__) #if defined(__GNUC__) #if defined(__clang__) || (!defined(__PGIC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))) #pragma GCC diagnostic pop #endif #elif defined(_MSC_VER) #pragma warning(pop) #endif #endif #undef __CUDA_DEPRECATED #if defined(__UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_H__) #undef __CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS__ #undef __UNDEF_CUDA_INCLUDE_COMPILER_INTERNAL_HEADERS_CUDA_RUNTIME_H__ #endif #endif BC! * #AI29 %b$EB B$28I 2D$H !#R !r$Hb@Q Pm iA(@ 6`C` H@ 6 ``h$@8I @&0! &0&1a dP0eQ2A` A3!& 2"H d$$ㄡL $M#M%L>4Ӎ "-QsC0s#"@@ F1#Ѓb,8`i(aj(Di(a)`]8F"J|"  !i(a)"  i(an40` 0@ & `B0`8F"J|" 0P 0@&& a@abF"J|pF"XA-Α&'j(‹i(aÉ& +VAƊ4i(a)pFŠebٸF"J|pFÊ+ cŊi(a)pFÊ+ cŊi(aÉ&+VXQ +VXA?Α&'pDXbE)Xb E"J|j(Ti(a)j(i(af@@K&BFeh9E"J|n4P@Q 4i(afdi(a)pD@)e9F"JiqF"J|jqF"xA@_&qFeF"J|jqFe 9F"Ji  (k)ɧ1n4 @j @@k&qG k)ɧ1pD @A) @řF"JbqF"ЙCu&X`0gN̙Cx&X`0gΜB3gF"Jbq GĜ9s攢Ϝ9s搟)_XƨQP)ɧ11j ( D i(a11l$ @PCС)ɧ11l$ @PD)_XƸрB0B5H"J|jqcqF  i(a11pD @A)$!@MH"J|jqcqG!s)*X i:G"J S8aDΑ&p`!n4`„0aDΑ&p`!pD`„ S)Da„ *T @@`*sP2^a0Ѭ" @@ *Ü9s(W@ʀ Es0g/F0g0V9sPB̙3G+9s̙C `ί_Ԭ s̡geiE+&LhZ0D@V9PBm#e@ y+n"0@+&L0 s &BWL0 ue +L]`"xe+&D {e4+"88@  2,B,JX9s@jXLM,s@t`2aq &@X zA2䃂:BJ ATBa !5ԆCzAd#zDe"Lĉ>)#PHj@TY,wx|:hwt t68xvHq2$""f*=4uh(@0di`E@!KC , Y<  Y,g@C5@!0% `B0d  Y,@CQ@!)%` 0dy Yh,C]!K/`20d1 Y,Cy!=%`0d YJ,(C!K%&`B0d  Y|,aC!Y,`b0d1  Y,hC! Z-`Ȃ0dA  Y,lC!ZE-`0da  Y,fC!Y,`0dQ  Y,jC!ZE-`Ȣ@0dQ  Y,lC! [E.`@0da  Y,jC! ].`B0d  Y,tC! ].`Ȣ0dQ  Y,tC!ZE-`B0d  Y,vC!]-`@0d  Y,nC![-`0dq  Y,|C!_/`0dq  Y,zC!Kh%4`0dq  YH,|C![-`0dq  Y,nC![-`0dq  Y,zC![-`0dq  Y,jC! _/`b0d1  Y,nC![-`0dq  Y,nC![-`Ȣ0d  Y,nC![-`0dq  Y,zC!^E/`Ȣ0d  YP,nC!jE5`Ȣ0dQ  Y,nC!jE5`Ȣ0dQ  Y,zC! k5`Ȣ0d  Y,nC![-`0dq  Y,nC!k5`0dq  Y,nC! l6`0dq  Y,C![-`0dq  Y,nC![-`0dq  Y,C!m,`b@0d1  Y,fC! Z-`Ȃ0dA  Y,hC!^6`B@0d  Y,fC!Y-`b@0dA  Y,hC! Z-`Ȃ0dA  Yh,C!l7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yx,C! o7`@0d  Y,C`!Kye<X`R@0d9 Y,C!z6`B@0d  Y,C! m6`Ȳ0d  Yh,C! ].`B@0d  Y,tC! ]=`@0d  Y,C!K|%>`@0d Y,C!|>`R@0d  Y,C!nE7`Ȳ 0d)  Y,C!x<`0d  Y,C!K?``"0d   YF,%C!ˈeDh`b0dA  Y,fC!K%D`"0d  YB,!C! E`"0da Y\,.C!E`"0dq Y`,0C!E`"0dq Y\,.C!Fh`"#0d Yd,2C!F`b#0d Yp,8C! G`Ȃ#0d Yt,:C!G`Ȃ#0d Yp,8C! Gp`#@8 2(L &GCP  PQ#%@FhyaC@blK-(a1="848Gjb#`CC PzDnh1 X 1Xa!+p="74ĸG="441!9A 1 zDhh!h#@CC|Pb%ޠG+="44Ġ9!MA 1|zDhhAx#@CC Xb;.Gt!="54Ġ{!]C@ 1zDjhA#PC#w{ht7ryHwp)0r{vpppwxzzHwpy@Ɓ$4EDUօeuay3f=C8ÌByxsq 3 BΡf0=C8=C==xtp{yHppzpvxp q f/sLƦb?DTHS?pst9/a$b? ] 0h 4sQ,?` b?KGKX#$HaxRa?ctaƁ=T u S5fD!HHS;-KMU1>"I /@D H`stO=5B%%$!HHS,F.sLZ3Ib?f* Ͳت74 cѲT 1! `!Tؓ9C-6 Ss3B44aV`08!4Ga?/SO PDH3=Q,$uQ,D5B %P |3H,* Ø=09 "N"L\Q/ayx4Sa?KGKX#$IXgySH\/ bS0` $/Q?y DTWa#0Ff8d#G @KH#8҃i+00e?0;Q$F8d#G,KM ظH\ ?4$Ib?ߋc=Q,؊u LwQV8d#GH X69 "]9_,0H3Qf8ESay0t Ipst9/a0b#0]a40uaײTTKG>rv-K ?4>V;`sKX#LGD Li < \)@ @3Xu=8T64P5C5 47L0_h 6 @TXf8 EV/?,0]a4Gab &=Q, =09 "& \*P, 463>QKGԳ$ED9sM,M-P5C5 U 4_h w y < i`@,@ c@!AT#5Q,?ɒ p=Ma4#w?"!Ma?0`"M &382 :sMSb,V5C5 mH\/ b?MMD\ t8dK= lc Rb@!RX u LuaBaS0;} 0Oi `q=9-/Qaϸ@ KaFPP=(ď4 b?DT O1r 6Q, !uQ,5B2 0Oi Pu;C-:~ f 8RaSb, f.3Lh" @ ) :?,PBQc?H5 0Oi 6 p,K4Sa?KGc5HԲ؃C G51KDED8 Q Asm3Bt8фO4h :?,PBQf `?KGc5Xe8FMFPvY;C-:~ fQc QcE Ma0Q@5Q,D<09 "Q$V!s]3BD-IT\ 44}] $?0G5$?HTG 48 Qe&8Pe1s]3Bp~a? \ |3HsaV3^0HS6I!O1b9s?8T -P:T3@"8&!Fc?C-P5C5 8,PB`?KGc5Iu S5ceSH3 + v74f/=8TԘLv8G%<\ pQ ؿ`$?5(O-Nc cSb,QN1bIb/=8TLv8G`0 C}  3f8ҏ4=O!dLsmLPB-P:T3@b42VsmL? H3P3/sLƦIe,,4b42-8Ԙn! 4 _0eVs>ET#?st?8VKX#$EC a/5&)$ˏЅAx\ӃC a#4Է@ P`:a$K41LR1~SU_9KX#C a/Q?0s]t/ab'?4(Ŀ8/˲C a/e s]3Bp}%$D `| 0 C}  3,sL,b]?H3R5C5 q@\ ?4$sPˁ (3r Hb?׷-@H]Xq@9 8QDϵ SDS=#`D,?R?Lv8Gŀ09cs]3B]?Lv8G( D4Sa?KGb_#dLD@ϵ0!RH3e,sL,Ib?KGɀ sPˁ$(3r Ib?׷-@HH],3##:n?4LPB -P:T3@Xw@zD0E,7U$=@<bo?T 21#R4D3H Q@ϹHRA- 4<sM?`5B7`KPPXuQ,X͒ f)pQ4UaֲTT@!DKX#s7@\ 4,;sM?"KJVF-sM w GZ6p-!MaS0m83BH3b0` ?5(O Շ|4G5 SH3I`7H)$?GQcFss3B44af?@ -&(HH#8҃6;L!$?G=L\L5B ϵQ,X/a\ b?0 CZ)sM7NC4Ua?߂#/P?,v8 es |tYz@!TuQ,X ,P7\`?KGɅ ;0sm?"qN#M@3de?瀄4Ga?!TXu KMdHGa?/Sϐ 6s_,0H3-P:T3@X5=P\ @3`؅Y0 PjϸHGa?KGI `DBM`\/ &#(@5Q,DXuQ,5B m 0h \vH`stO=5B2$u $Q!\(Ea?DP5C5 9@\O5/a 6Hst?8VKX#$XuQ,5B! )O1ԢbJD0 DTX7\Ea? pA D\0]‘" 0Oi /P?`&@L@S,7U$=@<4dKX#LGD LsIP4vsMt9 f9PBLX]9"5@3]9"5@Cϵ SD=M%#R4 \PA4v9PBLD$,/HALCDe@?8T64e6?0s]t/a$b? |3H3,sL0Ib?BMm ,7NCQaD!)\R1~SUoKX#X],0SH36(.!HEZq 1PV>Q,5 SH3Չ% l' Rϵ ,> `?6(OIM4@5Q,D i@!!Q؃C qշ@ P`:a?/SO .!F `k?b42?4H8dg?b42V3.!Qا@ϼ<P7\Hb?KGKX#$EXv}C\PLDTFHpst9/a\bq=e43BH3ՈdR1~SUHi( qM@1Qa? }$G |3HS.?Mw D9U (Q4Uaq=va? p% |3 sM3BD6m@8FP^9"!M1X_9"!MAX^9"!MQؒM!_,0%#(pYo8q=va?KPPXmAa?dII@a >dI y,a ;dI y,a 9dI y,a ;dI y,a 6dI y,a 4dI y,a 2dI y,a A1#III@a A/#III@a A-#III@a *dI y,a (dI y,a A'#III@a A%#III@a "dI y,a A!#III@a A"III@a dI y,a dI y,a dI y,a dI y,a dI y,a dI y,a dI y,a A"III@a dI y,a dI y,a dII@a dII@a A"III@a A"III@a dII@a dII@a dII@a dII@a dII@a dII@a dII@a A"III@a dII@a dII@a dII@a dII@a dII@a A"III@a A"III@a A"III@a 2A@III0@c, a ~dII@a |dII@a zdII@a xdII@a vdII@a tdII@a rdII@a pdII@a Ao"III@a n2A@IIIJ@a Ak"III@a Ai"III@a fdII@a ddII@a bdII@a `dII@a >dII@a >2II@H'! a D,` n#\ f 0f !p II&J@)A!R[)S,> a D,` n#\ f 0f !p II&J@)A!R[)S,> a D,` n#\ f 0f !p II&J@)A!R[)S,> a A!III@a A!III@a A!III@a A!III@a Ai"III@a A!III@a  pĠ IIJ@a pĠ IIJ@a A!III@a A!III@a A!III@a D,` n#\@f 0f !p II&J@)A!R[)S,> a D,` n#\ f 0f !p II&J@)A!R[)S,> a D,` n#\ f 0f !p II&J@)A!R[)S,> a D,` n#\ f 0f !p II&J@)A!R[)S,> a A!III@a A!III@a A!III@a A!III@a Ak"III@a A!III@a  pĠ IIJ@a pĠ IIJ@a A!I0Tb0 !II@a A!I0Tb0 !II@a AAPCA8I0Tb0 !IJ@a AA0CA8I0Tb0 !IJ@a A!I0Tb0 !II@a A!I0Tb0 !II@a A!I0Tb0 !II@a A!I0Tb0 !II@a A!I0Tb0 !II@a A!I0Tb0 !II@a A!I0Tb0 !II@a A!I0Tb0 !II@a A~!I0Tb0 !II@a A|!I0Tb0 !II@a Az!I0Tb0 !II@a Ax!I0Tb0 !II@a Av!I0Tb0 !II@a At!I0Tb0 !II@a Ar!I0Tb0 !II@a q1A@I0Tb0 !IIpa, a o1A@I0Tb0 !IIpa, a Al!I0Tb0 !II@a Aj!I0Tb0 !II@a i1A@I0Tb0 !IIpa, a dĀ# . I@N3'!a dĀ# . I@N3'!a +J,  `FA$  pa F J#Ţ$@N` 8 1K TH@ IIIJ@0@X)A!R*A!r)A!b(!a )J,  1K 7 2 D0bP@X,2``0PAb LjAb$@N` 8 1K TH@ III@0@(!b,Km,m, a )J,  1K 7 2 D0bPO,2``0PA= LjA=$@N` 8 1K TH@ III@0@(!b,Km,m, a )J,  `1K 7 2 D0bPM,2``0PA8 LjA8$@N` 8 1K TH@ III@0@(!b,Km,m, a 'J,  ,A2@(`001a F  ,1b@L$@@1K T @A8 II@0@X(!b,Km,m, a 'J,  ,A2@(`00,a F ,1b@@K$@@1K T @A8 II@0@X(!b,Km,m, a 'J,  `,A2@(`00'a F ,1b@J$@B1K T @A8 II@0@X(!b,Km,m, a 'J,  ,A2@(`00"a F 0,1b@H$@B1K T @A8 II@0@X(!b,Km,m, a (J,  ,A2@(`00` F ,1b@?$@N` 8 1K TH@ II@0@X(!b,Km,m, a (J,  p,A2@(`00` F ,1b@@>$@N` 8 1K TH@ II@0@X(!b,Km,m, a  ,p II@0@a  *p II@0@a  0p II@0@a A I0Tb0 !II@a dĀu2I@<1'!a dĀt2I@<1'!a dĀs# . I@<1'!a dĀr# . I@<1'!a \ 2I0#Ca !A,ʇu7`@0rdldld ld0{<<<<6! 10H p IPX0IpHP aCDa !A,ʇu7`@0rdldld ld0{<<<<6! 10H p IPX0IpHP aCDa A,(\flnP0rdldld ld0{<<<<& !2IPX0I0T@d@,a A,(\flnP0rdldld ld0{<<<<& !2IPX0I0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p IPX0I0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p IPX0I0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p IPX0I0T@d4 H a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p IPX0I0T@d4 H a !A,ʇu7`@0rdldld ld0{99<<6! 10H p IPX0IpHP aCDa A,\flnP0rdldld ld0{99<<& !2IPX0I0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p IPX0I0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p IPX0I0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<<Թjw7;026 862=8@ؠ ؁T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8IPX0IpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<<Թjw7;026 862=8@ؠ ؁T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8IPX0IpHP aCDa >A,'(\flnP0rdldld ld0{<<<<Թjw7;026 862=8@ؠ ؁T;=8>AA?#DhB&H*nhdXST@݈#E(A8IPX0I0T@d@,a >A,'(\flnP0rdldld ld0{<<<<Թjw7;026 862=8@ؠ ؁T;=8>AA?#DhB&H*nhdXST@݈#E(A8IPX0I0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sHM vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8IPX0I0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sHM vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8IPX0I0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sHM vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8IPX0I0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sHM vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8IPX0I0T@d4 H a AA,(ʇT;=8>AA?@:t0vpt |pq92626262=@@@@@\^@;؃A} l#DhB&!I*dG @&0 AU숁L#E8AA8IPX0IpHP aCDa >A,'\]@;؃}@l l p.3y@s`7xpq92626262=@@@@@\^@;؃A} l#DhB&H*nhcXST@݈#E0A8IPX0I0T@d@,a @A,(ʇT;=8>AA?@Bt0vprx{p790 8`0 8`0 9`0 9 䁮T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8IPX0I0T@d@,a AA,(ʇT;=8>AA?@Bt0vpq0v790 8`0 8`0 9`0 9 䁮T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8IPX0I0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<<Թjw7;026 862=8@ؠ ؁T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8IPX0IpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<<Թjw7;026 862=8@ؠ ؁T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8IPX0IpHP aCDa >A,'(\flnP0rdldld ld0{<<<<Թjw7;026 862=8@ؠ ؁T;=8>AA?#DhB&H*nhdXST@݈#E(A8IPX0I0T@d@,a >A,'(\flnP0rdldld ld0{<<<<Թjw7;026 862=8@ؠ ؁T;=8>AA?#DhB&H*nhdXST@݈#E(A8IPX0I0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sHM vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8IPX0I0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sHM vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8IPX0I0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sHM vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8IPX0I0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sHM vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8IPX0I0T@d4 H a A,& ! 1@9ф JPX0IpHP aCDI@0a A,& ! 1@9ф JPX0IpHP aCDI@0a A,!P"M JPX0I0T@d@,`H a A,!P"M JPX0I0T@d@,`H a A,& ! 1@9ф JPX0I0T@d@,`H a A,& ! 1@9ф JPX0I0T@d@,`H a A,ʧ 6! 1@"Aф JPX0I0T@dH} & )a A,ʧ 6! 1@"Aф JPX0I0T@dH} & )a A,& ! 1 |@qDM'  JPX0IpHP aCDI@0X*A!R)!a A,!|1@`%0ф1 w  JPX0I0T@d@,`H,,a A,& ! 1 |@yDM'  JPX0I0T@d@,`H,,a A,ʧ 6! 1 |`)DM'  JPX0I0T@dH,} & )vJ@a 6A,ʇT;=8>A?} lTu.   @a>`66#DhB&H*dG G"`4!iBPu4;bL 0bP4JPX0IpHP aCDI@0a 6A,ʇT;=8>A?} lTu.   @a>`66#DhB&H*dG G"`4!iBPu4;bL 0bP4JPX0IpHP aCDI@0a 4A,h\^@;؃A} l@U@ ` ؀ v`y`y#DhB&G*n;`A F%T7b@ 0bP4JPX0I0T@d@,`H a 4A,h\^@;؃A} l@U@ ` ؀ v`y`y#DhB&G*n;`A F%T7b@ 0bP4JPX0I0T@d@,`H a 6A,ʇT;=8>A?} lTu.   @a>`66#DhB&H*dG g"`4!iBPu4;bL 0bP4JPX0I0T@d@,`H a 6A,ʇT;=8>A?} lTu.   @a>`66#DhB&H*dG g"`4!iBPu4;bL 0bP4JPX0I0T@d@,`H a 7A,ʧ h\^@;؃A} l@U@ ` ؀ v`y`y#DhB&!I*dG Ѓ'!`4!qBPv8;bP" 0bP4JPX0I0T@dH} & )a 7A,ʧ h\^@;؃A} l@U@ ` ؀ v`y`y#DhB&!I*dG Ѓ'!`4!qBPv8;bP" 0bP4JPX0I0T@dH} & )a 6A,ʇT;=8>AA?@W@`؀  @y`>6 #DhB&H*dG G"`4!iBPu4;bL 0bP4JPX0IpHP aCDI@0a 4A,\]@;؃}@l l tu./   `>6y`r#DhB&G*n;`A F%T7b@ 0bP4@JPX0I0T@d@,`H a 6A,ʇT;=8>AA?@W@`؀  @y`>6 #DhB&H*dG g"`4!iBPu4;bL 0bP4JPX0I0T@d@,`H a 7A,ʧ \]@;؃}@l l tu./   `>6y`r#DhB&!I*dG Ѓ'!`4!qBPv8;bP" 0bP4JPX0I0T@dH} & )a 6A,ʇT;=8>A?} lTu.   @a>`66#DhB&H*dG G"`4!iBPu4;bL 0bP4JPX0IpHP aCDI@0a 6A,ʇT;=8>A?} lTu.   @a>`66#DhB&H*dG G"`4!iBPu4;bL 0bP4JPX0IpHP aCDI@0a 4A,h\^@;؃A} l@U@ ` ؀ v`y`y#DhB&G*n;`A F%T7b@ 0bP4JPX0I0T@d@,`H a 4A,h\^@;؃A} l@U@ ` ؀ v`y`y#DhB&G*n;`A F%T7b@ 0bP4JPX0I0T@d@,`H a 6A,ʇT;=8>A?} lTu.   @a>`66#DhB&H*dG g"`4!iBPu4;bL 0bP4JPX0I0T@d@,`H a 6A,ʇT;=8>A?} lTu.   @a>`66#DhB&H*dG g"`4!iBPu4;bL 0bP4JPX0I0T@d@,`H a 7A,ʧ h\^@;؃A} l@U@ ` ؀ v`y`y#DhB&!I*dG Ѓ'!`4!qBPv8;bP" 0bP4JPX0I0T@dH} & )a 7A,ʧ h\^@;؃A} l@U@ ` ؀ v`y`y#DhB&!I*dG Ѓ'!`4!qBPv8;bP" 0bP4JPX0I0T@dH} & )BC! A #AI29 %b$EB B$28I 2D$H !#R !r$Hb@Q Pm iA(@ 6`C` H@ 6 ``h$@8 GI@&0! &0&1a dP0eQ2A` A3!&̄ < 2"H d$$ㄡL $M#M%L>4Ӎ "-QsC0s#"@@ F1#Ѓb,8`i(aj(Di(a)`]8F"J|"  !i(a)"  i(an40` 0@ & `B0`8F"J|" 0P 0@&& a@abF"J|pF"XA-Α&'j(‹i(aÉ& +VAƊ4i(a)pFŠebٸF"J|pFÊ+ cŊi(a)pFÊ+ cŊi(aÉ&+VXQ +VXA?Α&'pDXbE)Xb E"J|j(Ti(a)j(i(af@@K&BFeh9E"J|n4P@Q 4i(afdi(a)pD@)e9F"JiqF"J|jqF"xA@_&qFeF"J|jqFe 9F"Ji  (k)ɧ1n4 @j @@k&qG k)ɧ1pD @A) @řF"JbqF"ЙCu&X`0gN̙Cx&X`0gΜB3gF"Jbq GĜ9s攢Ϝ9s搟)_XƨQP)ɧ11j ( D i(a11l$ @PCС)ɧ11l$ @PD)_XƸрB0B5H"J|jqcqF  i(a11pD @A)$!@MH"J|jqcqG!s)*X i:G"J S8aDΑ&p`!n4`„0aDΑ&p`!pD`„ S)Da„ *T @@`*sP2^a0Ѭ" @@ *Ü9s(W@ʀ Es0g/F0g0V9sPB̙3G+9s̙C `ί_Ԭ s̡geiE+&LhZ0D@V9PBm#e@ y+n"0@+&L0 s &BWL0 ue +L]`"xe+&D {e4+"88@  2,B,JX9s@jXLM,s@t`2A7X#(ŠHP $$(BdAJZI>%$%EPbR"TI4P ٤ġrNBQ<'(B!PJMФ(%,ER"$ZJL09%LEҝ"ܙJTOXĩ2,@p@Hv:BP(m!/RCm!=#zDeO$j /\"D$6IJl+X%16Ċ+VqKz\0)rϤF@m"I'i.Ĺ"-J).BDsT:m9s)Bj0uVj ,wx|:hwt t68xvHq2$""f*[䶚m5j(@0di`E@!KC , Y<  Y,g@C5@!0% `B0d  Y,@CQ@!)%` 0dy Yh,C]!K/`20d1 Y,Cy!=%`0d YJ,(C!K%&`B0d  Y|,aC!Y,`b0d1  Y,hC! Z-`Ȃ0dA  Y,lC!ZE-`0da  Y,fC!Y,`0dQ  Y,jC!ZE-`Ȣ@0dQ  Y,lC! [E.`@0da  Y,jC! ].`B0d  Y,tC! ].`Ȣ0dQ  Y,tC!ZE-`B0d  Y,vC!]-`@0d  Y,nC![-`0dq  Y,|C!_/`0dq  Y,zC!Kh%4`0dq  YH,|C![-`0dq  Y,nC![-`0dq  Y,zC![-`0dq  Y,jC! _/`b0d1  Y,nC![-`0dq  Y,nC![-`Ȣ0d  Y,nC![-`0dq  Y,zC!^E/`Ȣ0d  YP,nC!jE5`Ȣ0dQ  Y,nC!jE5`Ȣ0dQ  Y,zC! k5`Ȣ0d  Y,nC![-`0dq  Y,nC!k5`0dq  Y,nC! l6`0dq  Y,C![-`0dq  Y,nC![-`0dq  Y,C!m,`b@0d1  Y,fC! Z-`Ȃ0dA  Y,hC!^6`B@0d  Y,fC!Y-`b@0dA  Y,hC! Z-`Ȃ0dA  Yh,C!l7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yx,C! o7`@0d  Y,C`!Kye<X`R@0d9 Y,C!z6`B@0d  Y,C! m6`Ȳ0d  Yh,C! ].`B@0d  Y,tC! ]=`@0d  Y,C!K|%>`@0d Y,C!|>`R@0d  Y,C!nE7`0d  Y~,C!o7`0d  Y~,C!o7`0d  Y~,C!~0<`2,0d)  Y,C!K?``0d  Y,!C!ˈeDh`R"0d)  YF,fC!Y,`b0dQ YB,!C!K%D`"0d  YX,,C!E`"0dq Y\,.C! F`#0d Y\,.C!E`"0dq Yh,2C!EF`"#0d Yl,6C!G`Ȃ#0d Yp,8C! EG`Ȣ#0d Yp,8C! G`Ȃ#0d Yx,<C!%Lp`2&0d Y,lC7!N`Ȃ'0d  Y,<C=!%T`B*0d9 YZ,CY!KW`Ȳ+0d Y|,>C0!˘G`b&0dI Y,rC:! Gx`&<0d Y,~CP! T`Ȣ*0di Yd,C\!ˮG`#0d Y,cC!%M`&0dy Y,xC!KeL`#0d YB,CS!U`*0d Yp,C! Gp`#80d  Yx,fC4! M`"'0d Y|,aC1! eO`'0d  YN,CV!˫EV`R+0d YB,!C!KW`+@@ 2(L &GCP QEP#%@FhyC@blY-(a1"g58Wj&_b+`VC P|Ej1 @Y 1Xa(!+p"e5ĸW"d51 !9Y 1 |Ej!h+@VC|P_b%W+"d5Ġ9 !MЁY 1||EjAx+@VC X_b;.Wt!"h5Ġ{@!]Z 1|EjA+VC 3i#_bMWoG"e5Đ8(!FȑY 1d|Ej'x+pVC ?#_bTWG"e5P> !FY 1j%|Ej++@VC]%_b*#MXWlJ"f5xW(!@Y 1|Ej'+@VC=%_b-#TpWK"e58](!쒯Y 1Z|EjQ++PVC \'_bJ8LWଆiN"f5`u0!ƛ@Y 1䤝|EjQ'+@VC `,L<2)#d,/8L=)3bb0?9(O-Nc,Ncf,#rHHs>sQ,?$ bE4Sa?/r!\\/_NKX#$ P 74b? 0 < BD)=/NIML2@Jt8d[5E GH3H`stO=5B$u,q=EuQ,X͐ -?M&pp@SADpv.?MhdVL6L4Xϼ4#=Ho\.sLIbTL6LXnϺ$KAP5 SH3I$"s]3B]M|/QXKG bUL6LDH2@Jpn? :%@d[69 "]9_,0H3Qf8,2) */ESa,2)YKG`b? FJVJpst9/a0b? FJ"fKs`db? FJ.vJs`$c#0]a40uaײTTKG>rv-K ?4><`sKX#LGD L,2)9+/i < \)@ @3Xu=8T64P5C5 ,2))-/,2)90/PBs@`H3&;M0j!8Ra?3EZXԲh w =@2FJH3Fp,0@a?/Œ A@2FJH3-sL&pIb  02@J63>Q9/`?/Sϒ O )9QDa? 02@JvN )5=8T6,C}  3K`s`dMS02@J.V-M%Mp )Y44m? :%@8/$c?0 6B$P, HfN ))c@!ATX</d?KGKX#$KX4A/`d88a:/e?> s]t?8VS$HHSd/ N &382 :sMSb,V5C5 - KP4F(pHH#8Ra?5(/N4ْd?X&O )b@!R=09 "H"@\ 8T&PQ!.?M</$fS0 6yED\OaNKDEDv3.Rx9T3s #̈́#C-b?DT\],HI=09 "H&A/dN!̈́51 ]>A/dN!d[(5Q,? ;h ٢6F&/sL0f?0B$v1s]3BD.Id?ߏc 9 X]~@y$T~A\OM6,C5Ca?/Ų c؅5 lcua/?8(Ŀ88a_) ISf7q= ]7/`^,0,uٰ7\f!?4(Ŀ8Q/63^0UF,KPPXpva? z8[b/ .N4sM3BD7V(`Ѕ)H2RJDn, pY69 "Hc#05m=_,0L4XI5 /Nc˲ԅA(?b? pa XM!G |3a<0sKX#LGD;Q`?KGc5Wϵ ,= 6cs3Bu]= |?U &P8dSH3Qf,458dSH3e?ߏcAa,4 v(`ԅi ,1P MUC a#G v3^0PIst?8VKX#$CC a#GED\HDĐ0t I0s]t/a bS0i03Ԣr]6Pȅj@TԲ؃C G 8 b?0il 8TD\/_N4 8 Ib0QXL5 /Nc,NcuYu KM$I8 QQ68PQ8 Qe&8PeKs`N 1s]3Bp~a? \ |3HsaV3^0HS6I!O1b6*@P ҘPB2Է@ P`:a? FJ `b4K s`NIMH2)SDn?Tt /IXP0Է@ P`:a? 5M-Nc,Ncv:؃C GH\/$ b"?5(O-NcԌ=O!dL4.A/:%@d74e? `8,PBQcfSH35sM3BD5` GD\ ?8a3cOaQ?C-6$F?4],0e/=8Tb,Qf83>0 -P:T3@H?L6?4],0Qf`ϵ],0كC QԷ@ P`:ahKTXQϵ],0#Tf@Q0P=09 "p&Ib G,ASb42-8XQf,,4Xy@QP@ˢMC a/5&)$ˏЅAx\ӃC a#4Է@ P`:a$K48,69 "eӲTTWDv;sLZ3e,,D#uQ,5BR H\ 4,b? pn? FJLy8?8TQf? FJLA`\/I L ) vX H) نX H)  s]3Bp}%$D `| 0 C}  3,sL,b]?H3R5C5 q@\ ?4$sPˁ (3r Hb?׷-@H]Xq@9 8QDϵ SDS=#`D,?R?Lv8Gŀ0< )c8Va*?5(_,0Eaa#dLԘ{@`H3?sMt9Q ?Lv8GD\R )D2)KMD2)KMy94],0Qf?0RA$Ipst9/a b>? H؎9C-$6) s} $ˏԅ!PR1>C01>Op )Y44m?0;Qz]:sM#d,R5C5 u4GQNQY`R1~SUH/,3H 1X<"HLam?T 2$ Բ0Hc? KX#$Y DT MU7`KPPX uQ,X͒ =`-KMU1~DBD5< BD)Բh \pMDEa#?4(Ŀ8a/=D\H\\_PMC,ҁ IX?/^,0F-sM w GZ6p-!MaS0m83BH3b? z8[@0 4u SDa?@ sM3BLw$Fss3B44af0Qc?@ p b4#=Ha?,@0 De8Fa?KGc55Br%< 6 iQX58# T| Tؾ@@0 g2S w e?K4Sa?KGc5LX7\Ca? p < \u$uQ,5Br!ML\HHL)Yq@9 !QX8/`>8T(/K4Sa?5(/N4Ւ#L\L5B=09 "bsM? 5B%ϵQ,X/a` b?KG XP H)/Nc,Nc&?Pq(H3Qa? p! |3U F;?,0`"A D\0]‘"QL2RJt8d[69 "h`? ;%N4/P?`&@L@S,7U$=@<4dKX#LGD LsIP4;sL&Ҥf?@!DKX#C5S@5Q,D|Q0@a?0 C sN\S9PBL4Բh BD&-sM w G$vL ) "ϵQ,X/a$ bJL? LM )9X=(ď4Ӎ D\/_N!Y@?8T645VsH vsH f1sm3Bt8tOds?MaD02FJ2PA4v9PBLD6A/`dN!d1/`b? e@?8T64evH0s]t/a$b? I02FJV+ P2/`e?0 C$M )YXsϸDSa?1P6p2tc? L2@JC aeA/ dN!d4/`dײTT@[@L )5/`dbӲT 1! KMVM )Y],0SH36(.!HEZq 1P?Q,5 SH3Չ% l' Rϵ ,> `?6(OIM4@5Q,D i@!!Q؃C qշ@ P`:a? :%@d5/`N >sQ,? b? 8LmD2FJL-K4ϻML1=O!_,0ϻML KHsX H)#dۧ@ϼ<P7\Hb?KGKX#$EeA/ dN!̈́[v}C\PLDTIpst9/a\bq=e43BH3ՈAdR1~SUHi( qM@1Qa? }$G |3HS.?Mw D9U (Q4Uaq=va? p% |3 sM3BD6m@8FP^9"!M1X_9"!MAX^9"!MQX;/$4mK?74H8X,e?Tt /B$3N\]Xx9T3N )#̈́Բh 4V38FPX@Ϲ4RuM!d,DR5C5 qhR1~SUQ/a d?KG <5tD0HY@ϼ<M1(ϵQ,X/a, b?`b4EaSˢMhd?KGɂ sM3BD88 e? !94H8dQPX&uQ,D5B! 02RJ s 4902RJVX H)Qϵ4H8ش@69 "xp`/ b? i02RJs?C-bpHL 8O-69 "pk? =02RJNvsN\OM4D2s]3B40 c? E02RJb`DD\ PBԃ |3,+˜f@8CQd/ db ?5(O a2?9(O-Nc,NcYf/ daSˢM0v@"8&!FS\ qt>Q,5],0LE}  36<3Lhb5H2FJDmb?44],0%-P:T3@3/`.N4LGD8\&Ls`^,0+P, \a Lįj71 @B ZLZ\a Lj71 @B ZLZ\a Lj%710 `D@ "p ZLZ\Z`a LDj%710 `D@ "p ZLZ\Z`a LDj720 $`DPxà0AD [LZ\Z`Zda Lj720 $`DPxà0AD [LZ\Z`Zda A, 3g0(`Dp x(  F7M1@ &[L[XZ\Z`Zda A, 3|0(`Dp x(  F7M1@ &[L[XZ\Z`Zda Lĸj%71 @ ZLZ\a Lj%71 @ ZLZ\a Lj5710 `D@ #p ZLZ\Z`a Lğj5710 `D@ #p ZLZ\Z`a LDj%720 $`DPxà0A!D [LZ\Z`Zda Lj%720 $`DPxà0A!D [LZ\Z`Zda A, 3m1(`Dpx(!  F7M1@ &[L[XZ\Z`Zda A, 31(`Dpx(!  F7M1@ &[L[XZ\Z`Zda LĹj571 @ ZLZ\a Lj571 @ ZLZ\a LjE710 `D@ $p ZLZ\Z`a LDjE710 `D@ $p ZLZ\Z`a LDj5720 $`DP xà0A1D [LZ\Z`Zda Lj5720 $`DP xà0A1D [LZ\Z`Zda A, 3sU1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda LĺjE71 @ ZLZ\a LjE71 @ ZLZ\a LDjU710 `D@ %p ZLZ\Z`a LjU710 `D@ %p ZLZ\Z`a LĻjE720 $`DPxà0AAD [LZ\Z`Zda LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda Lļj571 @ ZLZ\a LĬjE710 `D@ $p ZLZ\Z`a Lj5720 $`DP xà0A1D [LZ\Z`Zda A, 3U1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda LDjE71 @ ZLZ\a LjE71 @ ZLZ\a LjU710 `D@ %p ZLZ\Z`a LĪjU710 `D@ %p ZLZ\Z`a LĽjE720 $`DPxà0AAD [LZ\Z`Zda LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda LľjE71 @ ZLZ\a LDjU710 `D@ %p ZLZ\Z`a LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A$ZZZ@a A$ZZZ@a 'J,  K,A2@,`00d F K,1b@/%@@1K T @A8 ZZ@0@Xl!b,Km,m, a 'J,  K,A2@,`00d F K,1b@.%@@1K T @A8 ZZ@0@Xl!b,Km,m, a (J,  0K,A2@,`00d F PK,1b@@-%@<`  1K TH@ ZZ@0@Xl!b,Km,m, a (J,  J,A2@,`00d F K,1b@,%@<`  1K TH@ ZZ@0@Xl!b,Km,m, a dZ\Z@a dZ\Z@a dZ\Z@a dZ\Z@a ~dZ\Z@a |dZ\Z@a zdZ\Z@a xdZ\Z@a vdZ\Z@a tdZ\Z@a rdZ\Z@a pdZ\Z@a ndZZ@a ndZ ,a kdZ ,a idZ ,a kdZ ,a fdZ ,a ddZ ,a bdZ ,a Aa$ZZZ@a A?$ZZZ@a A=$ZZZ@a :dZ ,a 8dZ ,a A7$ZZZ@a A5$ZZZ@a 2dZ ,a A1$ZZZ@a A/$ZZZ@a ,dZ ,a *dZ ,a (dZ ,a &dZ ,a $dZ ,a "dZ ,a  dZ ,a A#ZZZ@a dZ ,a dZ ,a dZZ@a dZZ@a A#ZZZ@a A#ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a A#ZZZ@a A#ZZZ@a 3A@ZZZ0@c, a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a ~3A@ZZZ[@a A{#ZZZ@a Ay#ZZZ@a vdZZ@a tdZZ@a rdZZ@a pdZZ@a ndZZ@a n3ZZ@Hk! a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a A'#ZZZ@a A%#ZZZ@a A%#ZZZ@a A%#ZZZ@a Ay#ZZZ@a A"ZZZ@a  pĠ~ ZZ[@a pĠ~ ZZ[@a A"ZZZ@a A"ZZZ@a A"ZZZ@a D,` n#܋\@f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a A"ZZZ@a A"ZZZ@a A"ZZZ@a A"ZZZ@a A{#ZZZ@a A"ZZZ@a  pĠt ZZ[@a pĠt ZZ[@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a AAP.CA8Z0Tb0 !I[@a AA0.CA8Z0Tb0 !I[@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a 2A@Z0Tb0 !IZpa, a 2A@Z0Tb0 !IZpa, a A|"Z0Tb0 !IZ@a Az"Z0Tb0 !IZ@a y2A@Z0Tb0 !IZpa, a dĀ; # . Z@N3k!a dĀ: # . Z@N3k!a +J,  `'FA$ D p'a F 'J#ɢ$@N` 8 1K TH@ ZZZ[@0@XmA!RnA!rmA!bl!a )J,  '1K 7 2 D0bP@,2``0PAr LjAr$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a )J,  &1K 7 2 D0bP,2``0PAm LjAm$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a )J,  `&1K 7 2 D0bP,2``0PAh LjAh$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a 'J,  &,A2@,`00ab F  &,1b@$@@1K T @A8 ZZ@0@Xl!b,Km,m, a 'J,  #,A2@,`00#Ca !A,ʇu7`@0rdldld ld0{<<<<6! 10H p ZPX0ZpHP aCDa !A,ʇu7`@0rdldld ld0{<<<<6! 10H p ZPX0ZpHP aCDa A,(\flnP0rdldld ld0{<<<<& !2ZPX0Z0T@d@,a A,(\flnP0rdldld ld0{<<<<& !2ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a !A,ʇu7`@0rdldld ld0{99<<6! 10H p ZPX0ZpHP aCDa A,\flnP0rdldld ld0{99<<& !2ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇT;=8>AA?@:t0vpt |pq92626262=@@@@@\^@;؃A} l#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0ZpHP aCDa >A,'\]@;؃}@l l p.3y@s`7xpq92626262=@@@@@\^@;؃A} l#DhB&H*nhcXST`݈#E0A8ZPX0Z0T@d@,a @A,(ʇT;=8>AA?@Bt0vprx{p790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0Z0T@d@,a AA,(ʇT;=8>AA?@Bt0vpq0v790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0Z0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a A,& ! 1@.9ф [PX0ZpHP aCDZ@0a A,& ! 1@.9ф [PX0ZpHP aCDZ@0a A,!P"M [PX0Z0T@d@,`H a A,!P"M [PX0Z0T@d@,`H a A,& ! 1@.9ф [PX0Z0T@d@,`H a A,& ! 1@.9ф [PX0Z0T@d@,`H a A,ʧ 6! 1@ ."Aф [PX0Z0T@dH & )a A,ʧ 6! 1@ ."Aф [PX0Z0T@dH & )a A,& ! 1 BqDM)  [PX0ZpHP aCDZ@0XnA!Rm!a A,!1@-%0ф1  [PX0Z0T@d@,`H,,a A,& ! 1 BDM)  [PX0Z0T@d@,`H,,a A,ʧ 6! 1 b)DM)  [PX0Z0T@dH, & )v[@a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,\]@;؃}@l l Tx./   `>6y`r#DhB&G*n`A F%\7b]@ 0bP4@[PX0Z0T@d@,`H a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ \]@;؃}@l l Tx./   `>6y`r#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a A,q04v 78vxqvpw7;0 8`02^؁ #DB@Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;;<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;;A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8̃<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8̃A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z04Ӎ "-QsC0s#"@@ F1#Ѓb,8`i(aj(Di(a)`]8F"J|"  !i(a)"  i(an40` 0@ & `B0`8F"J|" 0P 0@&& a@abF"J|pF"XA-Α&'j(‹i(aÉ& +VAƊ4i(a)pFŠebٸF"J|pFÊ+ cŊi(a)pFÊ+ cŊi(aÉ&+VXQ +VXA?Α&'pDXbE)Xb E"J|j(Ti(a)j(i(af@@K&BFeh9E"J|n4P@Q 4i(afdi(a)pD@)e9F"JiqF"J|jqF"xA@_&qFeF"J|jqFe 9F"Ji  (k)ɧ1n4 @j @@k&qG k)ɧ1pD @A) @řF"JbqF"ЙCu&X`0gN̙Cx&X`0gΜB3gF"Jbq GĜ9s攢Ϝ9s搟)_XƨQP)ɧ11j ( D i(a11l$ @PCС)ɧ11l$ @PD)_XƸрB0B5H"J|jqcqF  i(a11pD @A)$!@MH"J|jqcqG!s)*X i:G"J S8aDΑ&p`!n4`„0aDΑ&p`!pD`„ S)Da„ *T @@`*sP2^a0Ѭ" @@ *Ü9s(W@ʀ Es0g/F0g0V9sPB̙3G+9s̙C `ί_Ԭ s̡geiE+&LhZ0D@V9PBm#e@ y+n"0@+&L0 s &BWL0 ue +L]`"xe+&D {e4+"88@  2,B,JX9s@jXLM,s@t`2A7X#(ŠHP $$(BdAJZI>%$%EPbR"TI4P ٤ġrNBQ<'(B!PJMФ(%,ER"$ZJL09%LEҝ"ܙJTOXĩ2,@p@Hv:BP(m!/RCm!=#zDeO$j /\"D$6IJl+X%16Ċ+VqKz\0)rϤF@m"I'i.Ĺ"-J).BDsT:m9s)Bj0uVj ,wx|:hwt t68xvHq2$""f*[䶚m5j(@0di`E@!KC , Y<  Y,g@C5@!0% `B0d  Y,@CQ@!)%` 0dy Yh,C]!K/`20d1 Y,Cy!=%`0d YJ,(C!K%&`B0d  Y|,aC!Y,`b0d1  Y,hC! Z-`Ȃ0dA  Y,lC!ZE-`0da  Y,fC!Y,`0dQ  Y,jC!ZE-`Ȣ@0dQ  Y,lC! [E.`@0da  Y,jC! ].`B0d  Y,tC! ].`Ȣ0dQ  Y,tC!ZE-`B0d  Y,vC!]-`@0d  Y,nC![-`0dq  Y,|C!_/`0dq  Y,zC!Kh%4`0dq  YH,|C![-`0dq  Y,nC![-`0dq  Y,zC![-`0dq  Y,jC! _/`b0d1  Y,nC![-`0dq  Y,nC![-`Ȣ0d  Y,nC![-`0dq  Y,zC!^E/`Ȣ0d  YP,nC!jE5`Ȣ0dQ  Y,nC!jE5`Ȣ0dQ  Y,zC! k5`Ȣ0d  Y,nC![-`0dq  Y,nC!k5`0dq  Y,nC! l6`0dq  Y,C![-`0dq  Y,nC![-`0dq  Y,C!m,`b@0d1  Y,fC! Z-`Ȃ0dA  Y,hC!^6`B@0d  Y,fC!Y-`b@0dA  Y,hC! Z-`Ȃ0dA  Yh,C!l7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yx,C! o7`@0d  Y,C`!Kye<X`R@0d9 Y,C!z6`B@0d  Y,C! m6`Ȳ0d  Yh,C! ].`B@0d  Y,tC! ]=`@0d  Y,C!K|%>`@0d Y,C!|>`R@0d  Y,C!nE7`0d  Y~,C!o7`0d  Y~,C!o7`0d  Y~,C!~0<`2,0d)  Y,C!K?``0d  Y,!C!ˈeDh`R"0d)  YF,fC!Y,`b0dQ YB,!C!K%D`"0d  YX,,C!E`"0dq Y\,.C! F`#0d Y\,.C!E`"0dq Yh,2C!EF`"#0d Yl,6C!G`Ȃ#0d Yp,8C! EG`Ȣ#0d Yp,8C! G`Ȃ#0d Yx,<C!%Lp`2&0d Y,lC7!N`Ȃ'0d  Y,<C=!%T`B*0d9 YZ,CY!KW`Ȳ+0d Y|,>C0!˘G`b&0dI Y,rC:! Gx`&<0d Y,~CP! T`Ȣ*0di Yd,C\!ˮG`#0d Y,cC!%M`&0dy Y,xC!KeL`#0d YB,CS!U`*0d Yp,C! Gp`#80d  Yx,fC4! M`"'0d Y|,aC1! eO`'0d  YN,CV!˫EV`R+0d YB,!C!KW`+@@ 2(L &GCP QEP#%@FhyC@blY-(a1"g58Wj&_b+`VC P|Ej1 @Y 1Xa(!+p"e5ĸW"d51 !9Y 1 |Ej!h+@VC|P_b%W+"d5Ġ9 !MЁY 1||EjAx+@VC X_b;.Wt!"h5Ġ{@!]Z 1|EjA+VC 3i#_bMWoG"e5Đ8(!FȑY 1d|Ej'x+pVC ?#_bTWG"e5P> !FY 1j%|Ej++@VC]%_b*#MXWlJ"f5xW(!@Y 1|Ej'+@VC=%_b-#TpWK"e58](!쒯Y 1Z|EjQ++PVC \'_bJ8LWଆiN"f5`u0!ƛ@Y 1䤝|EjQ'+@VC `,L<2)#d,/8L=)3bb0?9(O-Nc,Ncf,#rHHs>sQ,?$ bE4Sa?/r!\\/_NKX#$ P 74b? 0 < BD)=/NIML2@Jt8d[5E GH3H`stO=5B$u,q=EuQ,X͐ -?M&pp@SADpv.?MhdVL6L4Xϼ4#=Ho\.sLIbTL6LXnϺ$KAP5 SH3I$"s]3B]M|/QXKG bUL6LDH2@Jpn? :%@d[69 "]9_,0H3Qf8,2) */ESa,2)YKG`b? FJVJpst9/a0b? FJ"fKs`db? FJ.vJs`$c#0]a40uaײTTKG>rv-K ?4><`sKX#LGD L,2)9+/i < \)@ @3Xu=8T64P5C5 ,2))-/,2)90/PBs@`H3&;M0j!8Ra?3EZXԲh w =@2FJH3Fp,0@a?/Œ A@2FJH3-sL&pIb  02@J63>Q9/`?/Sϒ O )9QDa? 02@JvN )5=8T6,C}  3K`s`dMS02@J.V-M%Mp )Y44m? :%@8/$c?0 6B$P, HfN ))c@!ATX</d?KGKX#$KX4A/`d88a:/e?> s]t?8VS$HHSd/ N &382 :sMSb,V5C5 - KP4F(pHH#8Ra?5(/N4ْd?X&O )b@!R=09 "H"@\ 8T&PQ!.?M</$fS0 6yED\OaNKDEDv3.Rx9T3s #̈́#C-b?DT\],HI=09 "H&A/dN!̈́51 ]>A/dN!d[(5Q,? ;h ٢6F&/sL0f?0B$v1s]3BD.Id?ߏc 9 X]~@y$T~A\OM6,C5Ca?/Ų c؅5 lcua/?8(Ŀ88a_) ISf7q= ]7/`^,0,uٰ7\f!?4(Ŀ8Q/63^0UF,KPPXpva? z8[b/ .N4sM3BD7V(`Ѕ)H2RJDn, pY69 "Hc#05m=_,0L4XI5 /Nc˲ԅA(?b? pa XM!G |3a<0sKX#LGD;Q`?KGc5Wϵ ,= 6cs3Bu]= |?U &P8dSH3Qf,458dSH3e?ߏcAa,4 v(`ԅi ,1P MUC a#G v3^0PIst?8VKX#$CC a#GED\HDĐ0t I0s]t/a bS0i03Ԣr]6Pȅj@TԲ؃C G 8 b?0il 8TD\/_N4 8 Ib0QXL5 /Nc,NcuYu KM$I8 QQ68PQ8 Qe&8PeKs`N 1s]3Bp~a? \ |3HsaV3^0HS6I!O1b6*@P ҘPB2Է@ P`:a? FJ `b4K s`NIMH2)SDn?Tt /IXP0Է@ P`:a? 5M-Nc,Ncv:؃C GH\/$ b"?5(O-NcԌ=O!dL4.A/:%@d74e? `8,PBQcfSH35sM3BD5` GD\ ?8a3cOaQ?C-6$F?4],0e/=8Tb,Qf83>0 -P:T3@H?L6?4],0Qf`ϵ],0كC QԷ@ P`:ahKTXQϵ],0#Tf@Q0P=09 "p&Ib G,ASb42-8XQf,,4Xy@QP@ˢMC a/5&)$ˏЅAx\ӃC a#4Է@ P`:a$K48,69 "eӲTTWDv;sLZ3e,,D#uQ,5BR H\ 4,b? pn? FJLy8?8TQf? FJLA`\/I L ) vX H) نX H)  s]3Bp}%$D `| 0 C}  3,sL,b]?H3R5C5 q@\ ?4$sPˁ (3r Hb?׷-@H]Xq@9 8QDϵ SDS=#`D,?R?Lv8Gŀ0< )c8Va*?5(_,0Eaa#dLԘ{@`H3?sMt9Q ?Lv8GD\R )D2)KMD2)KMy94],0Qf?0RA$Ipst9/a b>? H؎9C-$6) s} $ˏԅ!PR1>C01>Op )Y44m?0;Qz]:sM#d,R5C5 u4GQNQY`R1~SUH/,3H 1X<"HLam?T 2$ Բ0Hc? KX#$Y DT MU7`KPPX uQ,X͒ =`-KMU1~DBD5< BD)Բh \pMDEa#?4(Ŀ8a/=D\H\\_PMC,ҁ IX?/^,0F-sM w GZ6p-!MaS0m83BH3b? z8[@0 4u SDa?@ sM3BLw$Fss3B44af0Qc?@ p b4#=Ha?,@0 De8Fa?KGc55Br%< 6 iQX58# T| Tؾ@@0 g2S w e?K4Sa?KGc5LX7\Ca? p < \u$uQ,5Br!ML\HHL)Yq@9 !QX8/`>8T(/K4Sa?5(/N4Ւ#L\L5B=09 "bsM? 5B%ϵQ,X/a` b?KG XP H)/Nc,Nc&?Pq(H3Qa? p! |3U F;?,0`"A D\0]‘"QL2RJt8d[69 "h`? ;%N4/P?`&@L@S,7U$=@<4dKX#LGD LsIP4;sL&Ҥf?@!DKX#C5S@5Q,D|Q0@a?0 C sN\S9PBL4Բh BD&-sM w G$vL ) "ϵQ,X/a$ bJL? LM )9X=(ď4Ӎ D\/_N!Y@?8T645VsH vsH f1sm3Bt8tOds?MaD02FJ2PA4v9PBLD6A/`dN!d1/`b? e@?8T64evH0s]t/a$b? I02FJV+ P2/`e?0 C$M )YXsϸDSa?1P6p2tc? L2@JC aeA/ dN!d4/`dײTT@[@L )5/`dbӲT 1! KMVM )Y],0SH36(.!HEZq 1P?Q,5 SH3Չ% l' Rϵ ,> `?6(OIM4@5Q,D i@!!Q؃C qշ@ P`:a? :%@d5/`N >sQ,? b? 8LmD2FJL-K4ϻML1=O!_,0ϻML KHsX H)#dۧ@ϼ<P7\Hb?KGKX#$EeA/ dN!̈́[v}C\PLDTIpst9/a\bq=e43BH3ՈAdR1~SUHi( qM@1Qa? }$G |3HS.?Mw D9U (Q4Uaq=va? p% |3 sM3BD6m@8FP^9"!M1X_9"!MAX^9"!MQX;/$4mK?74H8X,e?Tt /B$3N\]Xx9T3N )#̈́Բh 4V38FPX@Ϲ4RuM!d,DR5C5 qhR1~SUQ/a d?KG <5tD0HY@ϼ<M1(ϵQ,X/a, b?`b4EaSˢMhd?KGɂ sM3BD88 e? !94H8dQPX&uQ,D5B! 02RJ s 4902RJVX H)Qϵ4H8ش@69 "xp`/ b? i02RJs?C-bpHL 8O-69 "pk? =02RJNvsN\OM4D2s]3B40 c? E02RJb`DD\ PBԃ |3,+˜f@8CQd/ db ?5(O a2?9(O-Nc,NcYf/ daSˢM0v@"8&!FS\ qt>Q,5],0LE}  36<3Lhb5H2FJDmb?44],0%-P:T3@3/`.N4LGD8\&Ls`^,0+P, \a Lįj71 @B ZLZ\a Lj71 @B ZLZ\a Lj%710 `D@ "p ZLZ\Z`a LDj%710 `D@ "p ZLZ\Z`a LDj720 $`DPxà0AD [LZ\Z`Zda Lj720 $`DPxà0AD [LZ\Z`Zda A, 3g0(`Dp x(  F7M1@ &[L[XZ\Z`Zda A, 3|0(`Dp x(  F7M1@ &[L[XZ\Z`Zda Lĸj%71 @ ZLZ\a Lj%71 @ ZLZ\a Lj5710 `D@ #p ZLZ\Z`a Lğj5710 `D@ #p ZLZ\Z`a LDj%720 $`DPxà0A!D [LZ\Z`Zda Lj%720 $`DPxà0A!D [LZ\Z`Zda A, 3m1(`Dpx(!  F7M1@ &[L[XZ\Z`Zda A, 31(`Dpx(!  F7M1@ &[L[XZ\Z`Zda LĹj571 @ ZLZ\a Lj571 @ ZLZ\a LjE710 `D@ $p ZLZ\Z`a LDjE710 `D@ $p ZLZ\Z`a LDj5720 $`DP xà0A1D [LZ\Z`Zda Lj5720 $`DP xà0A1D [LZ\Z`Zda A, 3sU1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda LĺjE71 @ ZLZ\a LjE71 @ ZLZ\a LDjU710 `D@ %p ZLZ\Z`a LjU710 `D@ %p ZLZ\Z`a LĻjE720 $`DPxà0AAD [LZ\Z`Zda LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda Lļj571 @ ZLZ\a LĬjE710 `D@ $p ZLZ\Z`a Lj5720 $`DP xà0A1D [LZ\Z`Zda A, 3U1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda LDjE71 @ ZLZ\a LjE71 @ ZLZ\a LjU710 `D@ %p ZLZ\Z`a LĪjU710 `D@ %p ZLZ\Z`a LĽjE720 $`DPxà0AAD [LZ\Z`Zda LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda LľjE71 @ ZLZ\a LDjU710 `D@ %p ZLZ\Z`a LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A$ZZZ@a A$ZZZ@a 'J,  K,A2@,`00d F K,1b@/%@@1K T @A8 ZZ@0@Xl!b,Km,m, a 'J,  K,A2@,`00d F K,1b@.%@@1K T @A8 ZZ@0@Xl!b,Km,m, a (J,  0K,A2@,`00d F PK,1b@@-%@<`  1K TH@ ZZ@0@Xl!b,Km,m, a (J,  J,A2@,`00d F K,1b@,%@<`  1K TH@ ZZ@0@Xl!b,Km,m, a dZ\Z@a dZ\Z@a dZ\Z@a dZ\Z@a ~dZ\Z@a |dZ\Z@a zdZ\Z@a xdZ\Z@a vdZ\Z@a tdZ\Z@a rdZ\Z@a pdZ\Z@a ndZZ@a ndZ ,a kdZ ,a idZ ,a kdZ ,a fdZ ,a ddZ ,a bdZ ,a Aa$ZZZ@a A?$ZZZ@a A=$ZZZ@a :dZ ,a 8dZ ,a A7$ZZZ@a A5$ZZZ@a 2dZ ,a A1$ZZZ@a A/$ZZZ@a ,dZ ,a *dZ ,a (dZ ,a &dZ ,a $dZ ,a "dZ ,a  dZ ,a A#ZZZ@a dZ ,a dZ ,a dZZ@a dZZ@a A#ZZZ@a A#ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a A#ZZZ@a A#ZZZ@a 3A@ZZZ0@c, a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a ~3A@ZZZ[@a A{#ZZZ@a Ay#ZZZ@a vdZZ@a tdZZ@a rdZZ@a pdZZ@a ndZZ@a n3ZZ@Hk! a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a A'#ZZZ@a A%#ZZZ@a A%#ZZZ@a A%#ZZZ@a Ay#ZZZ@a A"ZZZ@a  pĠ~ ZZ[@a pĠ~ ZZ[@a A"ZZZ@a A"ZZZ@a A"ZZZ@a D,` n#܋\@f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a A"ZZZ@a A"ZZZ@a A"ZZZ@a A"ZZZ@a A{#ZZZ@a A"ZZZ@a  pĠt ZZ[@a pĠt ZZ[@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a AAP.CA8Z0Tb0 !I[@a AA0.CA8Z0Tb0 !I[@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a 2A@Z0Tb0 !IZpa, a 2A@Z0Tb0 !IZpa, a A|"Z0Tb0 !IZ@a Az"Z0Tb0 !IZ@a y2A@Z0Tb0 !IZpa, a dĀ; # . Z@N3k!a dĀ: # . Z@N3k!a +J,  `'FA$ D p'a F 'J#ɢ$@N` 8 1K TH@ ZZZ[@0@XmA!RnA!rmA!bl!a )J,  '1K 7 2 D0bP@,2``0PAr LjAr$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a )J,  &1K 7 2 D0bP,2``0PAm LjAm$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a )J,  `&1K 7 2 D0bP,2``0PAh LjAh$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a 'J,  &,A2@,`00ab F  &,1b@$@@1K T @A8 ZZ@0@Xl!b,Km,m, a 'J,  #,A2@,`00#Ca !A,ʇu7`@0rdldld ld0{<<<<6! 10H p ZPX0ZpHP aCDa !A,ʇu7`@0rdldld ld0{<<<<6! 10H p ZPX0ZpHP aCDa A,(\flnP0rdldld ld0{<<<<& !2ZPX0Z0T@d@,a A,(\flnP0rdldld ld0{<<<<& !2ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a !A,ʇu7`@0rdldld ld0{99<<6! 10H p ZPX0ZpHP aCDa A,\flnP0rdldld ld0{99<<& !2ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇT;=8>AA?@:t0vpt |pq92626262=@@@@@\^@;؃A} l#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0ZpHP aCDa >A,'\]@;؃}@l l p.3y@s`7xpq92626262=@@@@@\^@;؃A} l#DhB&H*nhcXST`݈#E0A8ZPX0Z0T@d@,a @A,(ʇT;=8>AA?@Bt0vprx{p790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0Z0T@d@,a AA,(ʇT;=8>AA?@Bt0vpq0v790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0Z0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a A,& ! 1@.9ф [PX0ZpHP aCDZ@0a A,& ! 1@.9ф [PX0ZpHP aCDZ@0a A,!P"M [PX0Z0T@d@,`H a A,!P"M [PX0Z0T@d@,`H a A,& ! 1@.9ф [PX0Z0T@d@,`H a A,& ! 1@.9ф [PX0Z0T@d@,`H a A,ʧ 6! 1@ ."Aф [PX0Z0T@dH & )a A,ʧ 6! 1@ ."Aф [PX0Z0T@dH & )a A,& ! 1 BqDM)  [PX0ZpHP aCDZ@0XnA!Rm!a A,!1@-%0ф1  [PX0Z0T@d@,`H,,a A,& ! 1 BDM)  [PX0Z0T@d@,`H,,a A,ʧ 6! 1 b)DM)  [PX0Z0T@dH, & )v[@a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,\]@;؃}@l l Tx./   `>6y`r#DhB&G*n`A F%\7b]@ 0bP4@[PX0Z0T@d@,`H a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ \]@;؃}@l l Tx./   `>6y`r#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a A,q04v 78vxqvpw7;0 8`02^؁ #DB@Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;;<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;;A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8̃<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8̃A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z04Ӎ "-QsC0s#"@@ F1#Ѓb,8`i(aj(Di(a)`]8F"J|"  !i(a)"  i(an40` 0@ & `B0`8F"J|" 0P 0@&& a@abF"J|pF"XA-Α&'j(‹i(aÉ& +VAƊ4i(a)pFŠebٸF"J|pFÊ+ cŊi(a)pFÊ+ cŊi(aÉ&+VXQ +VXA?Α&'pDXbE)Xb E"J|j(Ti(a)j(i(af@@K&BFeh9E"J|n4P@Q 4i(afdi(a)pD@)e9F"JiqF"J|jqF"xA@_&qFeF"J|jqFe 9F"Ji  (k)ɧ1n4 @j @@k&qG k)ɧ1pD @A) @řF"JbqF"ЙCu&X`0gN̙Cx&X`0gΜB3gF"Jbq GĜ9s攢Ϝ9s搟)_XƨQP)ɧ11j ( D i(a11l$ @PCС)ɧ11l$ @PD)_XƸрB0B5H"J|jqcqF  i(a11pD @A)$!@MH"J|jqcqG!s)*X i:G"J S8aDΑ&p`!n4`„0aDΑ&p`!pD`„ S)Da„ *T @@`*sP2^a0Ѭ" @@ *Ü9s(W@ʀ Es0g/F0g0V9sPB̙3G+9s̙C `ί_Ԭ s̡geiE+&LhZ0D@V9PBm#e@ y+n"0@+&L0 s &BWL0 ue +L]`"xe+&D {e4+"88@  2,B,JX9s@jXLM,s@t`2A7X#(ŠHP $$(BdAJZI>%$%EPbR"TI4P ٤ġrNBQ<'(B!PJMФ(%,ER"$ZJL09%LEҝ"ܙJTOXĩ2,@p@Hv:BP(m!/RCm!=#zDeO$j /\"D$6IJl+X%16Ċ+VqKz\0)rϤF@m"I'i.Ĺ"-J).BDsT:m9s)Bj0uVj ,wx|:hwt t68xvHq2$""f*[䶚m5j(@0di`E@!KC , Y<  Y,g@C5@!0% `B0d  Y,@CQ@!)%` 0dy Yh,C]!K/`20d1 Y,Cy!=%`0d YJ,(C!K%&`B0d  Y|,aC!Y,`b0d1  Y,hC! Z-`Ȃ0dA  Y,lC!ZE-`0da  Y,fC!Y,`0dQ  Y,jC!ZE-`Ȣ@0dQ  Y,lC! [E.`@0da  Y,jC! ].`B0d  Y,tC! ].`Ȣ0dQ  Y,tC!ZE-`B0d  Y,vC!]-`@0d  Y,nC![-`0dq  Y,|C!_/`0dq  Y,zC!Kh%4`0dq  YH,|C![-`0dq  Y,nC![-`0dq  Y,zC![-`0dq  Y,jC! _/`b0d1  Y,nC![-`0dq  Y,nC![-`Ȣ0d  Y,nC![-`0dq  Y,zC!^E/`Ȣ0d  YP,nC!jE5`Ȣ0dQ  Y,nC!jE5`Ȣ0dQ  Y,zC! k5`Ȣ0d  Y,nC![-`0dq  Y,nC!k5`0dq  Y,nC! l6`0dq  Y,C![-`0dq  Y,nC![-`0dq  Y,C!m,`b@0d1  Y,fC! Z-`Ȃ0dA  Y,hC!^6`B@0d  Y,fC!Y-`b@0dA  Y,hC! Z-`Ȃ0dA  Yh,C!l7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yx,C! o7`@0d  Y,C`!Kye<X`R@0d9 Y,C!z6`B@0d  Y,C! m6`Ȳ0d  Yh,C! ].`B@0d  Y,tC! ]=`@0d  Y,C!K|%>`@0d Y,C!|>`R@0d  Y,C!nE7`0d  Y~,C!o7`0d  Y~,C!o7`0d  Y~,C!~0<`2,0d)  Y,C!K?``0d  Y,!C!ˈeDh`R"0d)  YF,fC!Y,`b0dQ YB,!C!K%D`"0d  YX,,C!E`"0dq Y\,.C! F`#0d Y\,.C!E`"0dq Yh,2C!EF`"#0d Yl,6C!G`Ȃ#0d Yp,8C! EG`Ȣ#0d Yp,8C! G`Ȃ#0d Yx,<C!%Lp`2&0d Y,lC7!N`Ȃ'0d  Y,<C=!%T`B*0d9 YZ,CY!KW`Ȳ+0d Y|,>C0!˘G`b&0dI Y,rC:! Gx`&<0d Y,~CP! T`Ȣ*0di Yd,C\!ˮG`#0d Y,cC!%M`&0dy Y,xC!KeL`#0d YB,CS!U`*0d Yp,C! Gp`#80d  Yx,fC4! M`"'0d Y|,aC1! eO`'0d  YN,CV!˫EV`R+0d YB,!C!KW`+@@ 2(L &GCP QEP#%@FhyC@blY-(a1"g58Wj&_b+`VC P|Ej1 @Y 1Xa(!+p"e5ĸW"d51 !9Y 1 |Ej!h+@VC|P_b%W+"d5Ġ9 !MЁY 1||EjAx+@VC X_b;.Wt!"h5Ġ{@!]Z 1|EjA+VC 3i#_bMWoG"e5Đ8(!FȑY 1d|Ej'x+pVC ?#_bTWG"e5P> !FY 1j%|Ej++@VC]%_b*#MXWlJ"f5xW(!@Y 1|Ej'+@VC=%_b-#TpWK"e58](!쒯Y 1Z|EjQ++PVC \'_bJ8LWଆiN"f5`u0!ƛ@Y 1䤝|EjQ'+@VC `,L<2)#d,/8L=)3bb0?9(O-Nc,Ncf,#rHHs>sQ,?$ bE4Sa?/r!\\/_NKX#$ P 74b? 0 < BD)=/NIML2@Jt8d[5E GH3H`stO=5B$u,q=EuQ,X͐ -?M&pp@SADpv.?MhdVL6L4Xϼ4#=Ho\.sLIbTL6LXnϺ$KAP5 SH3I$"s]3B]M|/QXKG bUL6LDH2@Jpn? :%@d[69 "]9_,0H3Qf8,2) */ESa,2)YKG`b? FJVJpst9/a0b? FJ"fKs`db? FJ.vJs`$c#0]a40uaײTTKG>rv-K ?4><`sKX#LGD L,2)9+/i < \)@ @3Xu=8T64P5C5 ,2))-/,2)90/PBs@`H3&;M0j!8Ra?3EZXԲh w =@2FJH3Fp,0@a?/Œ A@2FJH3-sL&pIb  02@J63>Q9/`?/Sϒ O )9QDa? 02@JvN )5=8T6,C}  3K`s`dMS02@J.V-M%Mp )Y44m? :%@8/$c?0 6B$P, HfN ))c@!ATX</d?KGKX#$KX4A/`d88a:/e?> s]t?8VS$HHSd/ N &382 :sMSb,V5C5 - KP4F(pHH#8Ra?5(/N4ْd?X&O )b@!R=09 "H"@\ 8T&PQ!.?M</$fS0 6yED\OaNKDEDv3.Rx9T3s #̈́#C-b?DT\],HI=09 "H&A/dN!̈́51 ]>A/dN!d[(5Q,? ;h ٢6F&/sL0f?0B$v1s]3BD.Id?ߏc 9 X]~@y$T~A\OM6,C5Ca?/Ų c؅5 lcua/?8(Ŀ88a_) ISf7q= ]7/`^,0,uٰ7\f!?4(Ŀ8Q/63^0UF,KPPXpva? z8[b/ .N4sM3BD7V(`Ѕ)H2RJDn, pY69 "Hc#05m=_,0L4XI5 /Nc˲ԅA(?b? pa XM!G |3a<0sKX#LGD;Q`?KGc5Wϵ ,= 6cs3Bu]= |?U &P8dSH3Qf,458dSH3e?ߏcAa,4 v(`ԅi ,1P MUC a#G v3^0PIst?8VKX#$CC a#GED\HDĐ0t I0s]t/a bS0i03Ԣr]6Pȅj@TԲ؃C G 8 b?0il 8TD\/_N4 8 Ib0QXL5 /Nc,NcuYu KM$I8 QQ68PQ8 Qe&8PeKs`N 1s]3Bp~a? \ |3HsaV3^0HS6I!O1b6*@P ҘPB2Է@ P`:a? FJ `b4K s`NIMH2)SDn?Tt /IXP0Է@ P`:a? 5M-Nc,Ncv:؃C GH\/$ b"?5(O-NcԌ=O!dL4.A/:%@d74e? `8,PBQcfSH35sM3BD5` GD\ ?8a3cOaQ?C-6$F?4],0e/=8Tb,Qf83>0 -P:T3@H?L6?4],0Qf`ϵ],0كC QԷ@ P`:ahKTXQϵ],0#Tf@Q0P=09 "p&Ib G,ASb42-8XQf,,4Xy@QP@ˢMC a/5&)$ˏЅAx\ӃC a#4Է@ P`:a$K48,69 "eӲTTWDv;sLZ3e,,D#uQ,5BR H\ 4,b? pn? FJLy8?8TQf? FJLA`\/I L ) vX H) نX H)  s]3Bp}%$D `| 0 C}  3,sL,b]?H3R5C5 q@\ ?4$sPˁ (3r Hb?׷-@H]Xq@9 8QDϵ SDS=#`D,?R?Lv8Gŀ0< )c8Va*?5(_,0Eaa#dLԘ{@`H3?sMt9Q ?Lv8GD\R )D2)KMD2)KMy94],0Qf?0RA$Ipst9/a b>? H؎9C-$6) s} $ˏԅ!PR1>C01>Op )Y44m?0;Qz]:sM#d,R5C5 u4GQNQY`R1~SUH/,3H 1X<"HLam?T 2$ Բ0Hc? KX#$Y DT MU7`KPPX uQ,X͒ =`-KMU1~DBD5< BD)Բh \pMDEa#?4(Ŀ8a/=D\H\\_PMC,ҁ IX?/^,0F-sM w GZ6p-!MaS0m83BH3b? z8[@0 4u SDa?@ sM3BLw$Fss3B44af0Qc?@ p b4#=Ha?,@0 De8Fa?KGc55Br%< 6 iQX58# T| Tؾ@@0 g2S w e?K4Sa?KGc5LX7\Ca? p < \u$uQ,5Br!ML\HHL)Yq@9 !QX8/`>8T(/K4Sa?5(/N4Ւ#L\L5B=09 "bsM? 5B%ϵQ,X/a` b?KG XP H)/Nc,Nc&?Pq(H3Qa? p! |3U F;?,0`"A D\0]‘"QL2RJt8d[69 "h`? ;%N4/P?`&@L@S,7U$=@<4dKX#LGD LsIP4;sL&Ҥf?@!DKX#C5S@5Q,D|Q0@a?0 C sN\S9PBL4Բh BD&-sM w G$vL ) "ϵQ,X/a$ bJL? LM )9X=(ď4Ӎ D\/_N!Y@?8T645VsH vsH f1sm3Bt8tOds?MaD02FJ2PA4v9PBLD6A/`dN!d1/`b? e@?8T64evH0s]t/a$b? I02FJV+ P2/`e?0 C$M )YXsϸDSa?1P6p2tc? L2@JC aeA/ dN!d4/`dײTT@[@L )5/`dbӲT 1! KMVM )Y],0SH36(.!HEZq 1P?Q,5 SH3Չ% l' Rϵ ,> `?6(OIM4@5Q,D i@!!Q؃C qշ@ P`:a? :%@d5/`N >sQ,? b? 8LmD2FJL-K4ϻML1=O!_,0ϻML KHsX H)#dۧ@ϼ<P7\Hb?KGKX#$EeA/ dN!̈́[v}C\PLDTIpst9/a\bq=e43BH3ՈAdR1~SUHi( qM@1Qa? }$G |3HS.?Mw D9U (Q4Uaq=va? p% |3 sM3BD6m@8FP^9"!M1X_9"!MAX^9"!MQX;/$4mK?74H8X,e?Tt /B$3N\]Xx9T3N )#̈́Բh 4V38FPX@Ϲ4RuM!d,DR5C5 qhR1~SUQ/a d?KG <5tD0HY@ϼ<M1(ϵQ,X/a, b?`b4EaSˢMhd?KGɂ sM3BD88 e? !94H8dQPX&uQ,D5B! 02RJ s 4902RJVX H)Qϵ4H8ش@69 "xp`/ b? i02RJs?C-bpHL 8O-69 "pk? =02RJNvsN\OM4D2s]3B40 c? E02RJb`DD\ PBԃ |3,+˜f@8CQd/ db ?5(O a2?9(O-Nc,NcYf/ daSˢM0v@"8&!FS\ qt>Q,5],0LE}  36<3Lhb5H2FJDmb?44],0%-P:T3@3/`.N4LGD8\&Ls`^,0+P, \a Lįj71 @B ZLZ\a Lj71 @B ZLZ\a Lj%710 `D@ "p ZLZ\Z`a LDj%710 `D@ "p ZLZ\Z`a LDj720 $`DPxà0AD [LZ\Z`Zda Lj720 $`DPxà0AD [LZ\Z`Zda A, 3g0(`Dp x(  F7M1@ &[L[XZ\Z`Zda A, 3|0(`Dp x(  F7M1@ &[L[XZ\Z`Zda Lĸj%71 @ ZLZ\a Lj%71 @ ZLZ\a Lj5710 `D@ #p ZLZ\Z`a Lğj5710 `D@ #p ZLZ\Z`a LDj%720 $`DPxà0A!D [LZ\Z`Zda Lj%720 $`DPxà0A!D [LZ\Z`Zda A, 3m1(`Dpx(!  F7M1@ &[L[XZ\Z`Zda A, 31(`Dpx(!  F7M1@ &[L[XZ\Z`Zda LĹj571 @ ZLZ\a Lj571 @ ZLZ\a LjE710 `D@ $p ZLZ\Z`a LDjE710 `D@ $p ZLZ\Z`a LDj5720 $`DP xà0A1D [LZ\Z`Zda Lj5720 $`DP xà0A1D [LZ\Z`Zda A, 3sU1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda LĺjE71 @ ZLZ\a LjE71 @ ZLZ\a LDjU710 `D@ %p ZLZ\Z`a LjU710 `D@ %p ZLZ\Z`a LĻjE720 $`DPxà0AAD [LZ\Z`Zda LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda Lļj571 @ ZLZ\a LĬjE710 `D@ $p ZLZ\Z`a Lj5720 $`DP xà0A1D [LZ\Z`Zda A, 3U1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda LDjE71 @ ZLZ\a LjE71 @ ZLZ\a LjU710 `D@ %p ZLZ\Z`a LĪjU710 `D@ %p ZLZ\Z`a LĽjE720 $`DPxà0AAD [LZ\Z`Zda LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda LľjE71 @ ZLZ\a LDjU710 `D@ %p ZLZ\Z`a LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A$ZZZ@a A$ZZZ@a 'J,  K,A2@,`00d F K,1b@/%@@1K T @A8 ZZ@0@Xl!b,Km,m, a 'J,  K,A2@,`00d F K,1b@.%@@1K T @A8 ZZ@0@Xl!b,Km,m, a (J,  0K,A2@,`00d F PK,1b@@-%@<`  1K TH@ ZZ@0@Xl!b,Km,m, a (J,  J,A2@,`00d F K,1b@,%@<`  1K TH@ ZZ@0@Xl!b,Km,m, a dZ\Z@a dZ\Z@a dZ\Z@a dZ\Z@a ~dZ\Z@a |dZ\Z@a zdZ\Z@a xdZ\Z@a vdZ\Z@a tdZ\Z@a rdZ\Z@a pdZ\Z@a ndZZ@a ndZ ,a kdZ ,a idZ ,a kdZ ,a fdZ ,a ddZ ,a bdZ ,a Aa$ZZZ@a A?$ZZZ@a A=$ZZZ@a :dZ ,a 8dZ ,a A7$ZZZ@a A5$ZZZ@a 2dZ ,a A1$ZZZ@a A/$ZZZ@a ,dZ ,a *dZ ,a (dZ ,a &dZ ,a $dZ ,a "dZ ,a  dZ ,a A#ZZZ@a dZ ,a dZ ,a dZZ@a dZZ@a A#ZZZ@a A#ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a A#ZZZ@a A#ZZZ@a 3A@ZZZ0@c, a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a ~3A@ZZZ[@a A{#ZZZ@a Ay#ZZZ@a vdZZ@a tdZZ@a rdZZ@a pdZZ@a ndZZ@a n3ZZ@Hk! a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a A'#ZZZ@a A%#ZZZ@a A%#ZZZ@a A%#ZZZ@a Ay#ZZZ@a A"ZZZ@a  pĠ~ ZZ[@a pĠ~ ZZ[@a A"ZZZ@a A"ZZZ@a A"ZZZ@a D,` n#܋\@f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a A"ZZZ@a A"ZZZ@a A"ZZZ@a A"ZZZ@a A{#ZZZ@a A"ZZZ@a  pĠt ZZ[@a pĠt ZZ[@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a AAP.CA8Z0Tb0 !I[@a AA0.CA8Z0Tb0 !I[@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a 2A@Z0Tb0 !IZpa, a 2A@Z0Tb0 !IZpa, a A|"Z0Tb0 !IZ@a Az"Z0Tb0 !IZ@a y2A@Z0Tb0 !IZpa, a dĀ; # . Z@N3k!a dĀ: # . Z@N3k!a +J,  `'FA$ D p'a F 'J#ɢ$@N` 8 1K TH@ ZZZ[@0@XmA!RnA!rmA!bl!a )J,  '1K 7 2 D0bP@,2``0PAr LjAr$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a )J,  &1K 7 2 D0bP,2``0PAm LjAm$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a )J,  `&1K 7 2 D0bP,2``0PAh LjAh$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a 'J,  &,A2@,`00ab F  &,1b@$@@1K T @A8 ZZ@0@Xl!b,Km,m, a 'J,  #,A2@,`00#Ca !A,ʇu7`@0rdldld ld0{<<<<6! 10H p ZPX0ZpHP aCDa !A,ʇu7`@0rdldld ld0{<<<<6! 10H p ZPX0ZpHP aCDa A,(\flnP0rdldld ld0{<<<<& !2ZPX0Z0T@d@,a A,(\flnP0rdldld ld0{<<<<& !2ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a !A,ʇu7`@0rdldld ld0{99<<6! 10H p ZPX0ZpHP aCDa A,\flnP0rdldld ld0{99<<& !2ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇT;=8>AA?@:t0vpt |pq92626262=@@@@@\^@;؃A} l#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0ZpHP aCDa >A,'\]@;؃}@l l p.3y@s`7xpq92626262=@@@@@\^@;؃A} l#DhB&H*nhcXST`݈#E0A8ZPX0Z0T@d@,a @A,(ʇT;=8>AA?@Bt0vprx{p790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0Z0T@d@,a AA,(ʇT;=8>AA?@Bt0vpq0v790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0Z0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a A,& ! 1@.9ф [PX0ZpHP aCDZ@0a A,& ! 1@.9ф [PX0ZpHP aCDZ@0a A,!P"M [PX0Z0T@d@,`H a A,!P"M [PX0Z0T@d@,`H a A,& ! 1@.9ф [PX0Z0T@d@,`H a A,& ! 1@.9ф [PX0Z0T@d@,`H a A,ʧ 6! 1@ ."Aф [PX0Z0T@dH & )a A,ʧ 6! 1@ ."Aф [PX0Z0T@dH & )a A,& ! 1 BqDM)  [PX0ZpHP aCDZ@0XnA!Rm!a A,!1@-%0ф1  [PX0Z0T@d@,`H,,a A,& ! 1 BDM)  [PX0Z0T@d@,`H,,a A,ʧ 6! 1 b)DM)  [PX0Z0T@dH, & )v[@a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,\]@;؃}@l l Tx./   `>6y`r#DhB&G*n`A F%\7b]@ 0bP4@[PX0Z0T@d@,`H a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ \]@;؃}@l l Tx./   `>6y`r#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a A,q04v 78vxqvpw7;0 8`02^؁ #DB@Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;;<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;;A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8̃<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8̃A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z04Ӎ "-QsC0s#"@@ F1#Ѓb,8`i(aj(Di(a)`]8F"J|"  !i(a)"  i(an40` 0@ & `B0`8F"J|" 0P 0@&& a@abF"J|pF"XA-Α&'j(‹i(aÉ& +VAƊ4i(a)pFŠebٸF"J|pFÊ+ cŊi(a)pFÊ+ cŊi(aÉ&+VXQ +VXA?Α&'pDXbE)Xb E"J|j(Ti(a)j(i(af@@K&BFeh9E"J|n4P@Q 4i(afdi(a)pD@)e9F"JiqF"J|jqF"xA@_&qFeF"J|jqFe 9F"Ji  (k)ɧ1n4 @j @@k&qG k)ɧ1pD @A) @řF"JbqF"ЙCu&X`0gN̙Cx&X`0gΜB3gF"Jbq GĜ9s攢Ϝ9s搟)_XƨQP)ɧ11j ( D i(a11l$ @PCС)ɧ11l$ @PD)_XƸрB0B5H"J|jqcqF  i(a11pD @A)$!@MH"J|jqcqG!s)*X i:G"J S8aDΑ&p`!n4`„0aDΑ&p`!pD`„ S)Da„ *T @@`*sP2^a0Ѭ" @@ *Ü9s(W@ʀ Es0g/F0g0V9sPB̙3G+9s̙C `ί_Ԭ s̡geiE+&LhZ0D@V9PBm#e@ y+n"0@+&L0 s &BWL0 ue +L]`"xe+&D {e4+"88@  2,B,JX9s@jXLM,s@t`2A7X#(ŠHP $$(BdAJZI>%$%EPbR"TI4P ٤ġrNBQ<'(B!PJMФ(%,ER"$ZJL09%LEҝ"ܙJTOXĩ2,@p@Hv:BP(m!/RCm!=#zDeO$j /\"D$6IJl+X%16Ċ+VqKz\0)rϤF@m"I'i.Ĺ"-J).BDsT:m9s)Bj0uVj ,wx|:hwt t68xvHq2$""f*[䶚m5j(@0di`E@!KC , Y<  Y,g@C5@!0% `B0d  Y,@CQ@!)%` 0dy Yh,C]!K/`20d1 Y,Cy!=%`0d YJ,(C!K%&`B0d  Y|,aC!Y,`b0d1  Y,hC! Z-`Ȃ0dA  Y,lC!ZE-`0da  Y,fC!Y,`0dQ  Y,jC!ZE-`Ȣ@0dQ  Y,lC! [E.`@0da  Y,jC! ].`B0d  Y,tC! ].`Ȣ0dQ  Y,tC!ZE-`B0d  Y,vC!]-`@0d  Y,nC![-`0dq  Y,|C!_/`0dq  Y,zC!Kh%4`0dq  YH,|C![-`0dq  Y,nC![-`0dq  Y,zC![-`0dq  Y,jC! _/`b0d1  Y,nC![-`0dq  Y,nC![-`Ȣ0d  Y,nC![-`0dq  Y,zC!^E/`Ȣ0d  YP,nC!jE5`Ȣ0dQ  Y,nC!jE5`Ȣ0dQ  Y,zC! k5`Ȣ0d  Y,nC![-`0dq  Y,nC!k5`0dq  Y,nC! l6`0dq  Y,C![-`0dq  Y,nC![-`0dq  Y,C!m,`b@0d1  Y,fC! Z-`Ȃ0dA  Y,hC!^6`B@0d  Y,fC!Y-`b@0dA  Y,hC! Z-`Ȃ0dA  Yh,C!l7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yx,C! o7`@0d  Y,C`!Kye<X`R@0d9 Y,C!z6`B@0d  Y,C! m6`Ȳ0d  Yh,C! ].`B@0d  Y,tC! ]=`@0d  Y,C!K|%>`@0d Y,C!|>`R@0d  Y,C!nE7`0d  Y~,C!o7`0d  Y~,C!o7`0d  Y~,C!~0<`2,0d)  Y,C!K?``0d  Y,!C!ˈeDh`R"0d)  YF,fC!Y,`b0dQ YB,!C!K%D`"0d  YX,,C!E`"0dq Y\,.C! F`#0d Y\,.C!E`"0dq Yh,2C!EF`"#0d Yl,6C!G`Ȃ#0d Yp,8C! EG`Ȣ#0d Yp,8C! G`Ȃ#0d Yx,<C!%Lp`2&0d Y,lC7!N`Ȃ'0d  Y,<C=!%T`B*0d9 YZ,CY!KW`Ȳ+0d Y|,>C0!˘G`b&0dI Y,rC:! Gx`&<0d Y,~CP! T`Ȣ*0di Yd,C\!ˮG`#0d Y,cC!%M`&0dy Y,xC!KeL`#0d YB,CS!U`*0d Yp,C! Gp`#80d  Yx,fC4! M`"'0d Y|,aC1! eO`'0d  YN,CV!˫EV`R+0d YB,!C!KW`+@@ 2(L &GCP QEP#%@FhyC@blY-(a1"g58Wj&_b+`VC P|Ej1 @Y 1Xa(!+p"e5ĸW"d51 !9Y 1 |Ej!h+@VC|P_b%W+"d5Ġ9 !MЁY 1||EjAx+@VC X_b;.Wt!"h5Ġ{@!]Z 1|EjA+VC 3i#_bMWoG"e5Đ8(!FȑY 1d|Ej'x+pVC ?#_bTWG"e5P> !FY 1j%|Ej++@VC]%_b*#MXWlJ"f5xW(!@Y 1|Ej'+@VC=%_b-#TpWK"e58](!쒯Y 1Z|EjQ++PVC \'_bJ8LWଆiN"f5`u0!ƛ@Y 1䤝|EjQ'+@VC `,L<2)#d,/8L=)3bb0?9(O-Nc,Ncf,#rHHs>sQ,?$ bE4Sa?/r!\\/_NKX#$ P 74b? 0 < BD)=/NIML2@Jt8d[5E GH3H`stO=5B$u,q=EuQ,X͐ -?M&pp@SADpv.?MhdVL6L4Xϼ4#=Ho\.sLIbTL6LXnϺ$KAP5 SH3I$"s]3B]M|/QXKG bUL6LDH2@Jpn? :%@d[69 "]9_,0H3Qf8,2) */ESa,2)YKG`b? FJVJpst9/a0b? FJ"fKs`db? FJ.vJs`$c#0]a40uaײTTKG>rv-K ?4><`sKX#LGD L,2)9+/i < \)@ @3Xu=8T64P5C5 ,2))-/,2)90/PBs@`H3&;M0j!8Ra?3EZXԲh w =@2FJH3Fp,0@a?/Œ A@2FJH3-sL&pIb  02@J63>Q9/`?/Sϒ O )9QDa? 02@JvN )5=8T6,C}  3K`s`dMS02@J.V-M%Mp )Y44m? :%@8/$c?0 6B$P, HfN ))c@!ATX</d?KGKX#$KX4A/`d88a:/e?> s]t?8VS$HHSd/ N &382 :sMSb,V5C5 - KP4F(pHH#8Ra?5(/N4ْd?X&O )b@!R=09 "H"@\ 8T&PQ!.?M</$fS0 6yED\OaNKDEDv3.Rx9T3s #̈́#C-b?DT\],HI=09 "H&A/dN!̈́51 ]>A/dN!d[(5Q,? ;h ٢6F&/sL0f?0B$v1s]3BD.Id?ߏc 9 X]~@y$T~A\OM6,C5Ca?/Ų c؅5 lcua/?8(Ŀ88a_) ISf7q= ]7/`^,0,uٰ7\f!?4(Ŀ8Q/63^0UF,KPPXpva? z8[b/ .N4sM3BD7V(`Ѕ)H2RJDn, pY69 "Hc#05m=_,0L4XI5 /Nc˲ԅA(?b? pa XM!G |3a<0sKX#LGD;Q`?KGc5Wϵ ,= 6cs3Bu]= |?U &P8dSH3Qf,458dSH3e?ߏcAa,4 v(`ԅi ,1P MUC a#G v3^0PIst?8VKX#$CC a#GED\HDĐ0t I0s]t/a bS0i03Ԣr]6Pȅj@TԲ؃C G 8 b?0il 8TD\/_N4 8 Ib0QXL5 /Nc,NcuYu KM$I8 QQ68PQ8 Qe&8PeKs`N 1s]3Bp~a? \ |3HsaV3^0HS6I!O1b6*@P ҘPB2Է@ P`:a? FJ `b4K s`NIMH2)SDn?Tt /IXP0Է@ P`:a? 5M-Nc,Ncv:؃C GH\/$ b"?5(O-NcԌ=O!dL4.A/:%@d74e? `8,PBQcfSH35sM3BD5` GD\ ?8a3cOaQ?C-6$F?4],0e/=8Tb,Qf83>0 -P:T3@H?L6?4],0Qf`ϵ],0كC QԷ@ P`:ahKTXQϵ],0#Tf@Q0P=09 "p&Ib G,ASb42-8XQf,,4Xy@QP@ˢMC a/5&)$ˏЅAx\ӃC a#4Է@ P`:a$K48,69 "eӲTTWDv;sLZ3e,,D#uQ,5BR H\ 4,b? pn? FJLy8?8TQf? FJLA`\/I L ) vX H) نX H)  s]3Bp}%$D `| 0 C}  3,sL,b]?H3R5C5 q@\ ?4$sPˁ (3r Hb?׷-@H]Xq@9 8QDϵ SDS=#`D,?R?Lv8Gŀ0< )c8Va*?5(_,0Eaa#dLԘ{@`H3?sMt9Q ?Lv8GD\R )D2)KMD2)KMy94],0Qf?0RA$Ipst9/a b>? H؎9C-$6) s} $ˏԅ!PR1>C01>Op )Y44m?0;Qz]:sM#d,R5C5 u4GQNQY`R1~SUH/,3H 1X<"HLam?T 2$ Բ0Hc? KX#$Y DT MU7`KPPX uQ,X͒ =`-KMU1~DBD5< BD)Բh \pMDEa#?4(Ŀ8a/=D\H\\_PMC,ҁ IX?/^,0F-sM w GZ6p-!MaS0m83BH3b? z8[@0 4u SDa?@ sM3BLw$Fss3B44af0Qc?@ p b4#=Ha?,@0 De8Fa?KGc55Br%< 6 iQX58# T| Tؾ@@0 g2S w e?K4Sa?KGc5LX7\Ca? p < \u$uQ,5Br!ML\HHL)Yq@9 !QX8/`>8T(/K4Sa?5(/N4Ւ#L\L5B=09 "bsM? 5B%ϵQ,X/a` b?KG XP H)/Nc,Nc&?Pq(H3Qa? p! |3U F;?,0`"A D\0]‘"QL2RJt8d[69 "h`? ;%N4/P?`&@L@S,7U$=@<4dKX#LGD LsIP4;sL&Ҥf?@!DKX#C5S@5Q,D|Q0@a?0 C sN\S9PBL4Բh BD&-sM w G$vL ) "ϵQ,X/a$ bJL? LM )9X=(ď4Ӎ D\/_N!Y@?8T645VsH vsH f1sm3Bt8tOds?MaD02FJ2PA4v9PBLD6A/`dN!d1/`b? e@?8T64evH0s]t/a$b? I02FJV+ P2/`e?0 C$M )YXsϸDSa?1P6p2tc? L2@JC aeA/ dN!d4/`dײTT@[@L )5/`dbӲT 1! KMVM )Y],0SH36(.!HEZq 1P?Q,5 SH3Չ% l' Rϵ ,> `?6(OIM4@5Q,D i@!!Q؃C qշ@ P`:a? :%@d5/`N >sQ,? b? 8LmD2FJL-K4ϻML1=O!_,0ϻML KHsX H)#dۧ@ϼ<P7\Hb?KGKX#$EeA/ dN!̈́[v}C\PLDTIpst9/a\bq=e43BH3ՈAdR1~SUHi( qM@1Qa? }$G |3HS.?Mw D9U (Q4Uaq=va? p% |3 sM3BD6m@8FP^9"!M1X_9"!MAX^9"!MQX;/$4mK?74H8X,e?Tt /B$3N\]Xx9T3N )#̈́Բh 4V38FPX@Ϲ4RuM!d,DR5C5 qhR1~SUQ/a d?KG <5tD0HY@ϼ<M1(ϵQ,X/a, b?`b4EaSˢMhd?KGɂ sM3BD88 e? !94H8dQPX&uQ,D5B! 02RJ s 4902RJVX H)Qϵ4H8ش@69 "xp`/ b? i02RJs?C-bpHL 8O-69 "pk? =02RJNvsN\OM4D2s]3B40 c? E02RJb`DD\ PBԃ |3,+˜f@8CQd/ db ?5(O a2?9(O-Nc,NcYf/ daSˢM0v@"8&!FS\ qt>Q,5],0LE}  36<3Lhb5H2FJDmb?44],0%-P:T3@3/`.N4LGD8\&Ls`^,0+P, \a Lįj71 @B ZLZ\a Lj71 @B ZLZ\a Lj%710 `D@ "p ZLZ\Z`a LDj%710 `D@ "p ZLZ\Z`a LDj720 $`DPxà0AD [LZ\Z`Zda Lj720 $`DPxà0AD [LZ\Z`Zda A, 3g0(`Dp x(  F7M1@ &[L[XZ\Z`Zda A, 3|0(`Dp x(  F7M1@ &[L[XZ\Z`Zda Lĸj%71 @ ZLZ\a Lj%71 @ ZLZ\a Lj5710 `D@ #p ZLZ\Z`a Lğj5710 `D@ #p ZLZ\Z`a LDj%720 $`DPxà0A!D [LZ\Z`Zda Lj%720 $`DPxà0A!D [LZ\Z`Zda A, 3m1(`Dpx(!  F7M1@ &[L[XZ\Z`Zda A, 31(`Dpx(!  F7M1@ &[L[XZ\Z`Zda LĹj571 @ ZLZ\a Lj571 @ ZLZ\a LjE710 `D@ $p ZLZ\Z`a LDjE710 `D@ $p ZLZ\Z`a LDj5720 $`DP xà0A1D [LZ\Z`Zda Lj5720 $`DP xà0A1D [LZ\Z`Zda A, 3sU1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda LĺjE71 @ ZLZ\a LjE71 @ ZLZ\a LDjU710 `D@ %p ZLZ\Z`a LjU710 `D@ %p ZLZ\Z`a LĻjE720 $`DPxà0AAD [LZ\Z`Zda LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda Lļj571 @ ZLZ\a LĬjE710 `D@ $p ZLZ\Z`a Lj5720 $`DP xà0A1D [LZ\Z`Zda A, 3U1(`Dpx(1  F7M1@E &[L[XZ\Z`Zda LDjE71 @ ZLZ\a LjE71 @ ZLZ\a LjU710 `D@ %p ZLZ\Z`a LĪjU710 `D@ %p ZLZ\Z`a LĽjE720 $`DPxà0AAD [LZ\Z`Zda LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda LľjE71 @ ZLZ\a LDjU710 `D@ %p ZLZ\Z`a LjE720 $`DPxà0AAD [LZ\Z`Zda A, 3U1(`Dpx(A  FG7M1@E &[L[XZ\Z`Zda A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a A$ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A$ZZZ@a A$ZZZ@a 'J,  K,A2@,`00d F K,1b@/%@@1K T @A8 ZZ@0@Xl!b,Km,m, a 'J,  K,A2@,`00d F K,1b@.%@@1K T @A8 ZZ@0@Xl!b,Km,m, a (J,  0K,A2@,`00d F PK,1b@@-%@<`  1K TH@ ZZ@0@Xl!b,Km,m, a (J,  J,A2@,`00d F K,1b@,%@<`  1K TH@ ZZ@0@Xl!b,Km,m, a dZ\Z@a dZ\Z@a dZ\Z@a dZ\Z@a ~dZ\Z@a |dZ\Z@a zdZ\Z@a xdZ\Z@a vdZ\Z@a tdZ\Z@a rdZ\Z@a pdZ\Z@a ndZZ@a ndZ ,a kdZ ,a idZ ,a kdZ ,a fdZ ,a ddZ ,a bdZ ,a Aa$ZZZ@a A?$ZZZ@a A=$ZZZ@a :dZ ,a 8dZ ,a A7$ZZZ@a A5$ZZZ@a 2dZ ,a A1$ZZZ@a A/$ZZZ@a ,dZ ,a *dZ ,a (dZ ,a &dZ ,a $dZ ,a "dZ ,a  dZ ,a A#ZZZ@a dZ ,a dZ ,a dZZ@a dZZ@a A#ZZZ@a A#ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a A#ZZZ@a A#ZZZ@a 3A@ZZZ0@c, a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a dZZ@a A#ZZZ@a ~3A@ZZZ[@a A{#ZZZ@a Ay#ZZZ@a vdZZ@a tdZZ@a rdZZ@a pdZZ@a ndZZ@a n3ZZ@Hk! a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a D,` n#\ f T0f !p ZZ&[@mA!R[mS,> a A'#ZZZ@a A%#ZZZ@a A%#ZZZ@a A%#ZZZ@a Ay#ZZZ@a A"ZZZ@a  pĠ~ ZZ[@a pĠ~ ZZ[@a A"ZZZ@a A"ZZZ@a A"ZZZ@a D,` n#܋\@f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a D,` n#\ f 0f !p ZZ&[@mA!R[mS,> a A"ZZZ@a A"ZZZ@a A"ZZZ@a A"ZZZ@a A{#ZZZ@a A"ZZZ@a  pĠt ZZ[@a pĠt ZZ[@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a AAP.CA8Z0Tb0 !I[@a AA0.CA8Z0Tb0 !I[@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a A"Z0Tb0 !IZ@a 2A@Z0Tb0 !IZpa, a 2A@Z0Tb0 !IZpa, a A|"Z0Tb0 !IZ@a Az"Z0Tb0 !IZ@a y2A@Z0Tb0 !IZpa, a dĀ; # . Z@N3k!a dĀ: # . Z@N3k!a +J,  `'FA$ D p'a F 'J#ɢ$@N` 8 1K TH@ ZZZ[@0@XmA!RnA!rmA!bl!a )J,  '1K 7 2 D0bP@,2``0PAr LjAr$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a )J,  &1K 7 2 D0bP,2``0PAm LjAm$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a )J,  `&1K 7 2 D0bP,2``0PAh LjAh$@N` 8 1K TH@ ZZZ@0@l!b,Km,m, a 'J,  &,A2@,`00ab F  &,1b@$@@1K T @A8 ZZ@0@Xl!b,Km,m, a 'J,  #,A2@,`00#Ca !A,ʇu7`@0rdldld ld0{<<<<6! 10H p ZPX0ZpHP aCDa !A,ʇu7`@0rdldld ld0{<<<<6! 10H p ZPX0ZpHP aCDa A,(\flnP0rdldld ld0{<<<<& !2ZPX0Z0T@d@,a A,(\flnP0rdldld ld0{<<<<& !2ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a !A,ʇu7`@0rdldld ld0{99<<6! 10H p ZPX0ZpHP aCDa A,\flnP0rdldld ld0{99<<& !2ZPX0Z0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p ZPX0Z0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇT;=8>AA?@:t0vpt |pq92626262=@@@@@\^@;؃A} l#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0ZpHP aCDa >A,'\]@;؃}@l l p.3y@s`7xpq92626262=@@@@@\^@;؃A} l#DhB&H*nhcXST`݈#E0A8ZPX0Z0T@d@,a @A,(ʇT;=8>AA?@Bt0vprx{p790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0Z0T@d@,a AA,(ʇT;=8>AA?@Bt0vpq0v790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8ZPX0Z0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<AA?#DhB&!I*dG H&0 AU숁M#E0AA8ZPX0ZpHP aCDa >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a >A,'(\flnP0rdldld ld0{<<<AA?#DhB&H*nhdXST`݈#E(A8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀h\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8ZPX0Z0T@d4 H a A,& ! 1@.9ф [PX0ZpHP aCDZ@0a A,& ! 1@.9ф [PX0ZpHP aCDZ@0a A,!P"M [PX0Z0T@d@,`H a A,!P"M [PX0Z0T@d@,`H a A,& ! 1@.9ф [PX0Z0T@d@,`H a A,& ! 1@.9ф [PX0Z0T@d@,`H a A,ʧ 6! 1@ ."Aф [PX0Z0T@dH & )a A,ʧ 6! 1@ ."Aф [PX0Z0T@dH & )a A,& ! 1 BqDM)  [PX0ZpHP aCDZ@0XnA!Rm!a A,!1@-%0ф1  [PX0Z0T@d@,`H,,a A,& ! 1 BDM)  [PX0Z0T@d@,`H,,a A,ʧ 6! 1 b)DM)  [PX0Z0T@dH, & )v[@a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,\]@;؃}@l l Tx./   `>6y`r#DhB&G*n`A F%\7b]@ 0bP4@[PX0Z0T@d@,`H a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ \]@;؃}@l l Tx./   `>6y`r#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4[PX0ZpHP aCDZ@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 6A,ʇT;=8>A?} l4x.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4[PX0Z0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4[PX0Z0T@dH & )a A,q04v 78vxqvpw7;0 8`02^؁ #DB@Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;;<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;;A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z06y`v3d0'Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, H\w;;8;8̃<A.4} l} l3g01'Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3j0x#DhB&`D! `#p Z0A?A/A}l}l3m1 x Œ71b@4&h& h1 F$ F F FB2Z06`3p1x#DhB&`D!` $p Z0A?A/A} l} l3sU1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3vU1x#DhB&`D!`%p Z06y`v3y0Q*Z 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p [0Lc3EZ0Da GA, h\w;;8;8̃A=A.4} l} l3|0*Z A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ [0Lc3E[0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p Z0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2Z06`31x#DhB&`D!` $p Z0A?A/A} l} l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0`6`3U1x#DhB&`D!`%p Z006`31x#DhB&`D!` $p Z0A?A/A}`l}`l3U1 x Œ71b@4&h& h1 F$D F F FR2Z0 6`3U1x#DhB&`D!`%p Z04Ӎ "-QsC0s#"@@ F1#Ѓb,8`i(aj(Di(a)`]8F"J|"  !i(a)"  i(an40` 0@ & `B0`8F"J|" 0P 0@&& a@abF"J|pF"XA-Α&'j(‹i(aÉ& +VAƊ4i(a)pFŠebٸF"J|pFÊ+ cŊi(a)pFÊ+ cŊi(aÉ&+VXQ +VXA?Α&'pDXbE)Xb E"J|j(Ti(a)j(i(af@@K&BFeh9E"J|n4P@Q 4i(afdi(a)pD@)e9F"JiqF"J|jqF"xA@_&qFeF"J|jqFe 9F"Ji  (k)ɧ1n4 @j @@k&qG k)ɧ1pD @A) @řF"JbqF"ЙCu&X`0gN̙Cx&X`0gΜB3gF"Jbq GĜ9s攢Ϝ9s搟)_XƨQP)ɧ11j ( D i(a11l$ @PCС)ɧ11l$ @PD)_XƸрB0B5H"J|jqcqF  i(a11pD @A)$!@MH"J|jqcqG!s)*X i:G"J S8aDΑ&p`!n4`„0aDΑ&p`!pD`„ S)Da„ *T @@`*sP2^a0Ѭ" @@ *Ü9s(W@ʀ Es0g/F0g0V9sPB̙3G+9s̙C `ί_Ԭ s̡geiE+&LhZ0D@V9PBm#e@ y+n"0@+&L0 s &BWL0 ue +L]`"xe+&D {e4#Le+ԯп"88@ 4 P2,B$),bX9s @XL D Y,s @`8A7X$( 4QIP ' %(B dAFKrI>&$%EP2hR"TI7P $ġxROBQ? ((B 4!HQ2JM)%%,ER"$rJO0E-&}4NUJ}+e%NEകau &@" Bh y0DΐjCp!@4#D(}"QSF2 !0&2\' !Ub#XQ-ɱ!VXaR"I&U6E0!0O\?s %E\@!0R]Kt.;%F3RjC̙3gNVc%Fk,wx|:hwt t68xvHq2$""Uf={6l(@0di`E@!KC , Y<  Y,g@C5@!0% `B0d  Y,@CQ@!)%` 0dy Yh,C]!K/`20d1 Y,Cy!=%`0d YJ,(C!K%&`B0d  Y|,aC!Y,`b0d1  Y,hC! Z-`Ȃ0dA  Y,lC!ZE-`0da  Y,fC!Y,`0dQ  Y,jC!ZE-`Ȣ@0dQ  Y,lC! [E.`@0da  Y,jC! ].`B0d  Y,tC! ].`Ȣ0dQ  Y,tC!ZE-`B0d  Y,vC!]-`@0d  Y,nC![-`0dq  Y,|C!_/`0dq  Y,zC!Kh%4`0dq  YH,|C![-`0dq  Y,nC![-`0dq  Y,zC![-`0dq  Y,jC! _/`b0d1  Y,nC![-`0dq  Y,nC![-`Ȣ0d  Y,nC![-`0dq  Y,zC!^E/`Ȣ0d  YP,nC!jE5`Ȣ0dQ  Y,nC!jE5`Ȣ0dQ  Y,zC! k5`Ȣ0d  Y,nC![-`0dq  Y,nC!k5`0dq  Y,nC! l6`0dq  Y,C![-`0dq  Y,nC![-`0dq  Y,C!m,`b@0d1  Y,fC! Z-`Ȃ0dA  Y,hC!^6`B@0d  Y,fC!Y-`b@0dA  Y,hC! Z-`Ȃ0dA  Yh,C!l7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yx,C! o7`@0d  Y,C`!Kye<X`R@0d9 Y,C!z6`B@0d  Y,C! m6`Ȳ0d  Yh,C! ].`B@0d  Y,tC! ]=`@0d  Y,C!K|%>`@0d Y,C!|>`R@0d  Y,C!nE7`0d  Y~,C!o7`0d  Y~,C!o7`0d  Y~,C! n7`Ȃ0d  Yp,C!o7`0d  Yt,C! ?`0d  Yp,C! n7`Ȃ0d  Yp,C!o7`0d  Yt,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Yp,C! o7`0d  Yx,C!Kx%<`0d   Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Y,C!x<`2,0d)  YD, C! ED``"0d  YH,&C! Eh`b"0d1  YV,fC!YE`B"0d! YH,$C! D`"0dy Y^,1C!K%F`#0d Yb,3C!ˌeF`#0d Yb,1C!K%F`R#0d  Yj,5C!KF`R#0d Yr,9C!ˎeG`Ȳ#0d Yv,;C!KG`#0d Yv,;C!ˎeG`Ȳ#0d Y,aC2!G`Ȓ&0da Y,uC<!˞%Lx`B&<0d1 Y,CR!˩EU`*0d Yh,C]!KG`#0d   Y,fC!KM`&0d Y,{C0! L`#0d YH,CU!KV`"+0d Yt,C!ˏ%Lp`&80d! Y~,iC6!˛EN`R'0d Y,dC3!ˏO`*0d! YT,CX!V`r+0d Y~,?C0!KLp`b&0d Y,oC9!KO`Ȳ'0d   Y,?C?!KT`r*0dQ Y`,CZ!˭EW`+0d! YH,$C_!˯@ 2(L &GCP QEP#%@FhyC:bl @-(a1"u68\Άj&p:b.@gC PEl1  1Xa!+p"s6ĸ\@Ά"r61!9 1 El!h. gC|Pp9b%\@Ά+"r6Ġ9!M 1|ElAx. gC Xp;b;.\Άt!"v6Ġ{!] 1ElA.`gC4+p:b _M \ΆrW"s6Ĩ! 1$El'.PgCP9-p:b jTR \`ΆZ"s6h! 1nEl+. gC^-p9bInMt \Άo["t6Đ!F 1ķEl'. gC ?!/p:bJyT \Άr^"s6P!F 1`EElq+.0gC ]q/p9b{#M \Άl_"t6x! 1dEl'. gC=/p9b#TF \ΆBb"t68! 1ZEl+(. gC[Y1p9b WZ \@ΆiRc"u6`!ƛ 1ElQ'9.0gC <1p9bɎO \Άf"t6 1!Ʃ 1TEl*e. gC X13p9bJCW \@Άf"r6q{vHyp{(ytxw# w{h7wpwptxw) DaH,LP?,0]#(V@@ h5Q,? L0?M&Mc?05C$/p ,K`? , |3H0VH`s \8^ALOi BDIo/8L<2)#̈́[H ?M&pL0t˅ &[pst9/a,b? 0 |3H0H`s \8b]X\/S/a$ b?ED\O"6s8Ff8d#G @KH#8҃i6>s w /aD0)45. 4bP3b"sM3BLx$ ,Oi <KG bUL6LD/N 6h )SD]9_,0H3Qf? FJf[s``? FJvK`s &M"5,2)Yp/,2)q/P,05/aD0V[s`$c? FJ.v>s w /aD0in/Q\R1~SU/KX#mA,3#<?4p/,2)y=09 ""iD/a0 4,2)Yt/PBs@`H3&K@?,05,/uLhK4L$&;M0j!8RaSˢM%] )#dw/`$4n?0`W$63>QQDa? 5M-Nc,Nc-sLb#IbŲd0 /aD0]P )/Nc,NcZ`stO=5B$Y < 4)4I$? -\\0;/aD0u*69 "hK4- KP46s]3BD-I(p5Ha@ Ka)?5(_,0ՅLOi IgQDLTLDaFPPX9$EX\0 ,f? ?L8 E Q!_ )KMLh w ,=09 "H&@?M%IX7A5.N,)Y٢/^,06p-!Ma? z8ۆ=(ď4 8  K`s &M^ \\0`/aD0)@0 L%If?,@0 DY8ϵ94͔< 6 iQ@0 پ@X=09 "^L\/KX#$g2S Y s]t?8V$ X\0FIf? PBض,L-\\0`/aD0i069 "/aD0;sL&pf?/Sϐ 6s_,0H3-P:T3@:5=4vad 3.8Q A4&#(XaA5Q,DduQ,5B P,69 "#(sL@c-` C}  36;sL&Ҥe?:09 "pK4La`\/ iP H)/Nc,Nc&?PL2RJt8dۨ/ NIMq(H3QaS05 4Lh \I6 C5L_h w ,X=09 "HbhlQ/a LIb?KG!bD) < 6 )#69 "K4qLh IC aSH3`?:09 "HK4Lz]KPs Jz]Yst?8VKX#$IC aSH3Qcu?`S0i/aD06sH vsH PA4v9PBLD369 "N#(k0-K R4d? 94m,M!GD2RJL \,sL0Ib!C0h0 ),mײTT@[@?ps 4If?809 ",fI?w8O!TXϵL%8u\\0i,IaKG b?4(O!T'VI`s BG8&QH\ ?%N4d?/SO F:s,PB\-P:T3@X/ $4m? 8L KHs)3/8&!F3s\\/_NKX#$XF=(ď4SvVJ`s 8"}$G y@So@A\]^9"!M1X_9"!MAX^9"!MQ~/$4mK?74H8/$4n?Tt /B$V38FPX@Ϲ4RX+uLZ3J$N-KMU1~DBD5/4i\\/_NKX#$7 Nd?`b4`?KGc55B$]4 ΃I=H\ p`?:09 "TK4L ;3Lh^E02RJ?L? SD5Ba? YH_h 6 8b?H3QQ/ a?:09 "xpJ vsm#_,0!6-?M%h H)أ/ $c? y02RJ&i H))/ d? %_ 2iHh 8b? }02RJb`DD\ PBԃ%_ 2i31D\ ?%@d\\0R/aD0iة/ daSˢM0v@"8&!FS>KGb 8QXϵL%8& 8 fb?44],0%-P:T3@u LxQ!H +P, \f/sLƦb?DTHS< ?M0L\/KX#$ *ˢMZ3L2FJt8dy/`NIMa DTHSFX@HFԲh 48b&?5(O-Nc Xk80Ma?KGKX#$Wm@98FP@ˢMZ3r=T>@?M%IdA5Q,D }A/d.@d`@QT~A/d.@۬Q0Hc#0 P_h w /aD0fY`stO=5B$ C01>?P?,0`"/aD0hp )Y44m?0;Qz]:sM#d,R5C5 PO-69 "p#( D9E"NsM?`5B<"HL`q?T 21#R4DH`s \8& Բ0HcֲTT@!DKX#cuQ,X͒ I0?M!&Mc0 < BD)YuL0JZ `?KG%b4Ga? :%@d[y/`N ᖶ.!F `k?b42?4H8dg?b42+5AԲh BDIXg5Q,?I @S*ϵLZ3&M^ydR1~SUH |3HS + MQغ69 "Nd?DT MUX7\ b? p%-@\ p fP,D 8O-69 "HcH8" c6Kps If/69 ",uM!d,DR5C5 4O-69 "L\/KX#$ ϵL0&M"Dh \\/_NKX#$ !_ 2v/?,0i$SӅL\ ?83 Ø7\b? p-=\\0 /aD0iu S7asML64SQ5C5 mH2FJDm?KG-b? FJmtD0eS0`",tA/z8a LDx71 @B kLk\a Lx71 @B kLk\a Lęx&710 `D@ "p kLk\k`a Lx&710 `D@ "p kLk\k`a Lĸx720 $`DPxà0AD kLk\k`kda Lx720 $`DPxà0AD kLk\k`kda A, 3j0(`Dp x(  F7M1@ lLkXk\k`kda A, 30(`Dp x(  F7M1@ lLkXk\k`kda LDx&71 @ kLk\a Lx&71 @ kLk\a LDx6710 `D@ #p kLk\k`a Lx6710 `D@ #p kLk\k`a LĹx&720 $`DPxà0A!D kLk\k`kda Lx&720 $`DPxà0A!D kLk\k`kda A, 3p1(`Dpx(!  F7M1@ lLkXk\k`kda A, 31(`Dpx(!  F7M1@ lLkXk\k`kda LDx671 @ kLk\a Lx671 @ kLk\a LĜxF710 `D@ $p kLk\k`a LxF710 `D@ $p kLk\k`a Lĺx6720 $`DP xà0A1D kLk\k`kda Lx6720 $`DP xà0A1D kLk\k`kda A, 3vY1(`Dpx(1  F7M1@E lLkXk\k`kda A, 3Y1(`Dpx(1  F7M1@E lLkXk\k`kda LDxF71 @ kLk\a LxF71 @ kLk\a LĻxV710 `D@ %p kLk\k`a LxV710 `D@ %p kLk\k`a LDxF720 $`DPxà0AAD kLk\k`kda LxF720 $`DPxà0AAD kLk\k`kda A, 3Y1(`Dpx(A  FG7M1@E lLkXk\k`kda A, 3Y1(`Dpx(A  FG7M1@E lLkXk\k`kda LDx671 @ kLk\a LDxF710 `D@ $p kLk\k`a Lx6720 $`DP xà0A1D kLk\k`kda A, 3Y1(`Dpx(1  F7M1@E lLkXk\k`kda LĽxF71 @ kLk\a LxF71 @ kLk\a LDxV710 `D@ %p kLk\k`a LxV710 `D@ %p kLk\k`a LDxF720 $`DPxà0AAD kLk\k`kda LxF720 $`DPxà0AAD kLk\k`kda A, 3Y1(`Dpx(A  FG7M1@E lLkXk\k`kda A, 3Y1(`Dpx(A  FG7M1@E lLkXk\k`kda LDxF71 @ kLk\a LĮxV710 `D@ %p kLk\k`a LxF720 $`DPxà0AAD kLk\k`kda A, 3Y1(`Dpx(A  FG7M1@E lLkXk\k`kda A#&kkk@a A!&kkk@a A!&kkk@a A!&kkk@a A%kkk@a A%kkk@a A%kkk@a A%kkk@a dkk@a dkk@a dkk@a dkk@a dkk@a A%kkk@a A%kkk@a 'J,  ^,A2@,`00e F ^,1b@@{%@@1K T @A8 kk@0@د!b,Km,m, a 'J,  `^,A2@,`00e F ^,1b@z%@@1K T @A8 kk@0@د!b,Km,m, a (J,  ^,A2@,`00e F 0^,1b@x%@<`  1K TH@ kk@0@د!b,Km,m, a (J,  [,A2@,`00e F [,1b@o%@<`  1K TH@ kk@0@د!b,Km,m, a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a ~dk\k@a |dkk@a |dk ,a ydk ,a wdk ,a ydk ,a tdk ,a rdk ,a pdk ,a Ao%kkk@a Am%kkk@a Ak%kkk@a hdk ,a fdk ,a Ae%kkk@a Ac%kkk@a `dk ,a A?%kkk@a A=%kkk@a :dk ,a 8dk ,a 6dk ,a 4dk ,a 2dk ,a 0dk ,a .dk ,a A-%kkk@a *dk ,a (dk ,a &dkk@a $dkk@a A#%kkk@a A!%kkk@a dkk@a dkk@a dkk@a dkk@a dkk@a dkk@a dkk@a A$kkk@a dkk@a dkk@a dkk@a dkk@a dkk@a A$kkk@a A$kkk@a A$kkk@a 4A@kkk0@c, a dkk@a dkk@a dkk@a dkk@a dkk@a dkk@a dkk@a dkk@a A$kkk@a 4A@kkkk@a A$kkk@a A$kkk@a dkk@a dkk@a dkk@a ~dkk@a |dkk@a |4kk@HY!dkk@a pĠ kkk@a  pĠ kkk@a A:$kkk@a A:$kkk@a A:$kkk@a D,` n#\@f t0f !p kkl@A!R۰S,> a D,` n#\ f p0f !p kkl@A!R۰S,> a D,` n#\ f p0f !p kkl@A!R۰S,> a D,` n#\ f p0f !p kkl@A!R۰S,> a A5$kkk@a A3$kkk@a A3$kkk@a A3$kkk@a A$kkk@a A*$kkk@a  pĠ kkk@a pĠ kkk@a A&$kkk@a A&$kkk@a A&$kkk@a D,` n#\@f L0f !p kkl@A!R۰S,> a D,` n#\ f H0f !p kkl@A!R۰S,> a D,` n#\ f H0f !p kkl@A!R۰S,> a D,` n#\ f H0f !p kkl@A!R۰S,> a A!$kkk@a A#kkk@a A#kkk@a A#kkk@a A$kkk@a A#kkk@a  pĠ kkk@a pĠ kkk@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a AA0?CA8k0Tb0 !Ik@a AA?CA8k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a 3A@k0Tb0 !Ikpa, a 3A@k0Tb0 !Ikpa, a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a 3A@k0Tb0 !Ikpa, a dĀ # . k@N3X!a dĀ # . k@N3X!a +J,  @:FA$ D P:a F `:J#΢$@N` 8 1K TH@ kkkk@0@ذA!RA!r[A!b[!a )J,  71K 7 2 D0bP,2``0PA LjA$@N` 8 1K TH@ kkk@0@!b,Km,m, a )J,  71K 7 2 D0bP,2``0PA{ LjA{$@N` 8 1K TH@ kkk@0@!b,Km,m, a )J,  @71K 7 2 D0bP@,2``0PAv LjAv$@N` 8 1K TH@ kkk@0@!b,Km,m, a 'J,  6,A2@,`00oc F 7,1b@$@@1K T @A8 kk@0@د!b,Km,m, a 'J,  6,A2@,`00jc F 6,1b@$@@1K T @A8 kk@0@د!b,Km,m, a 'J,  @6,A2@,`00ec F `6,1b@$@B1K T @A8 kk@0@د!b,Km,m, a 'J,  3,A2@,`00`c F 6,1b@@$@B1K T @A8 kk@0@د!b,Km,m, a (J,  3,A2@,`00;c F 3,1b@$@N` 8 1K TH@ kk@0@د!b,Km,m, a (J,  P3,A2@,`006c F p3,1b@$@N` 8 1K TH@ kk@0@د!b,Km,m, a  ,p kk@0@a  *p kk@0@a  0p kk@0@a A+#k0Tb0 !Ik@a A)#k0Tb0 !Ik@a A'#k0Tb0 !Ik@a A%#k0Tb0 !Ik@a A##k0Tb0 !Ik@a A!#k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a AA@/CA8k0Tb0 !Ik@a AA /CA8k0Tb0 !Ik@a AA/CA8k0Tb0 !Ik@a AA.CA8k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A}"k0Tb0 !Ik@a A{"k0Tb0 !Ik@a Ay"k0Tb0 !Ik@a Aw"k0Tb0 !Ik@a Au"k0Tb0 !Ik@a As"k0Tb0 !Ik@a Aq"k0Tb0 !Ik@a Ao"k0Tb0 !Ik@a Am"k0Tb0 !Ik@a Ak"k0Tb0 !Ik@a Ai"k0Tb0 !Ik@a Ag"k0Tb0 !Ik@a Ae"k0Tb0 !Ik@a d2A@k0Tb0 !Ikpa, a b2A@k0Tb0 !Ikpa, a `2A@k0Tb0 !Ikpa, a >2A@k0Tb0 !Ikpa, a <2A@k0Tb0 !Ikpa, a :2A@k0Tb0 !Ikpa, a A7"k0Tb0 !Ik@a A5"k0Tb0 !Ik@a A3"k0Tb0 !Ik@a A1"k0Tb0 !Ik@a A/"k0Tb0 !Ik@a A-"k0Tb0 !Ik@a A+"k0Tb0 !Ik@a A)"k0Tb0 !Ik@a A'"k0Tb0 !Ik@a A%"k0Tb0 !Ik@a A#"k0Tb0 !Ik@a A!"k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a dĀ2k@<1X!a dĀ2k@<1X!a dĀ# . k@<1X!a dĀ# . k@<1X!a \ 2k0#Ca !A,ʇu7`@0rdldld ld0{<<<<6! 10H p kPX0kpHP aCDa !A,ʇu7`@0rdldld ld0{<<<<6! 10H p kPX0kpHP aCDa A,\flnP0rdldld ld0{<<<<& !2kPX0k0T@d@,a A,\flnP0rdldld ld0{<<<<& !2kPX0k0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d4 H a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d4 H a !A,ʇu7`@0rdldld ld0{99<<6! 10H p kPX0kpHP aCDa A,\flnP0rdldld ld0{99<<& !2kPX0k0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8kPX0kpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8kPX0kpHP aCDa >A,'\flnP0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&H*nhdXST`݈#E(A8kPX0k0T@d@,a >A,'\flnP0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&H*nhdXST`݈#E(A8kPX0k0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d4 H a AA,(ʇT;=8>AA?@:t0vpt |pq92626262=@@@@@\^@;؃A} l#DhB&!I*dG @&0 AU숁L#E8AA8kPX0kpHP aCDa >A,'\]@;؃}@l l Dp.3y@s`7xpq92626262=@@@@@\^@;؃A} l#DhB&H*nhcXST`݈#E0A8kPX0k0T@d@,a @A,(ʇT;=8>AA?@Bt0vprx{p790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8kPX0k0T@d@,a AA,(ʇT;=8>AA?@Bt0vpq0v790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8kPX0k0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8kPX0kpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8kPX0kpHP aCDa >A,'\flnP0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&H*nhdXST`݈#E(A8kPX0k0T@d@,a >A,'\flnP0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&H*nhdXST`݈#E(A8kPX0k0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d4 H a A,& ! 1@.9ф kPX0kpHP aCDk@0a A,& ! 1@.9ф kPX0kpHP aCDk@0a A,!P"M kPX0k0T@d@,`H a A,!P"M kPX0k0T@d@,`H a A,& ! 1@.9ф kPX0k0T@d@,`H a A,& ! 1@.9ф kPX0k0T@d@,`H a A,ʧ 6! 1@ ."Aф kPX0k0T@dH & )a A,ʧ 6! 1@ ."Aф kPX0k0T@dH & )a A,& ! 1 BqDM+  kPX0kpHP aCDk@0رA!R!a A,!1@-%0ф1  kPX0k0T@d@,`H, ,a A,& ! 1 BDM+  kPX0k0T@d@,`H,,a A,ʧ 6! 1 ࿒b)DM@,  kPX0k0T@dH!, & )Vl@a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4kPX0kpHP aCDk@0a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4kPX0kpHP aCDk@0a 4A,h\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4kPX0k0T@d@,`H a 4A,h\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4kPX0k0T@d@,`H a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4kPX0k0T@d@,`H a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4kPX0k0T@d@,`H a 7A,ʧ h\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4kPX0k0T@dH & )a 7A,ʧ h\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4kPX0k0T@dH & )a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  G"`4!iBPAv4;b^L 0bP4kPX0kpHP aCDk@0a 4A,\]@;؃}@l l tx./   `>6y`r#DhB&G*n`A F%\7b]@ 0bP4@kPX0k0T@d@,`H a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  "`4!iBPAv4;b^L 0bP4kPX0k0T@d@,`H a 7A,ʧ \]@;؃}@l l tx./   `>6y`r#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4kPX0k0T@dH & )a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4kPX0kpHP aCDk@0a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4kPX0kpHP aCDk@0a 4A,h\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4kPX0k0T@d@,`H a 4A,h\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4kPX0k0T@d@,`H a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4kPX0k0T@d@,`H a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4kPX0k0T@d@,`H a 7A,ʧ h\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4kPX0k0T@dH & )a 7A,ʧ h\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4kPX0k0T@dH & )a A,q04v 78vxqvpw7;0 8`02^؁ #DB@k06y`v3g01' 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;;<A.4} l} l3j0a' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,x.6Ā ΁A A``؀  v t`>@6`3m0x#DhB&`D! `#p k0A?A/A}l}l3p1 x Œ71b@4&h& h1 F$ F F FB2k06`3s1x#DhB&`D!` $p k0A?A/A} l} l3vY1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3yY1x#DhB&`D!`%p k06y`v3|0* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;;A=A.4} l} l30* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,y.6Ā ΁A Aܠ`؀  v t`>@6`30x#DhB&`D! `#p k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2k06`31x#DhB&`D!` $p k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3Y1x#DhB&`D!`%p k006`31x#DhB&`D!` $p k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0 6`3Y1x#DhB&`D!`%p k06y`v3g01' 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8<A.4} l} l3j0a' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3m0x#DhB&`D! `#p k0A?A/A}l}l3p1 x Œ71b@4&h& h1 F$ F F FB2k06`3s1x#DhB&`D!` $p k0A?A/A} l} l3vY1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3yY1x#DhB&`D!`%p k06y`v3|0* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8A=A.4} l} l30* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2k06`31x#DhB&`D!` $p k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3Y1x#DhB&`D!`%p k006`31x#DhB&`D!` $p k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0 6`3Y1x#DhB&`D!`%p k06y`v3g01' 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8<A.4} l} l3j0a' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3m0x#DhB&`D! `#p k0A?A/A}l}l3p1 x Œ71b@4&h& h1 F$ F F FB2k06`3s1x#DhB&`D!` $p k0A?A/A} l} l3vY1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3yY1x#DhB&`D!`%p k06y`v3|0* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8A=A.4} l} l30* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2k06`31x#DhB&`D!` $p k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3Y1x#DhB&`D!`%p k006`31x#DhB&`D!` $p k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0 6`3Y1x#DhB&`D!`%p k06y`v3g01' 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8̃<A.4} l} l3j0a' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3m0x#DhB&`D! `#p k0A?A/A}l}l3p1 x Œ71b@4&h& h1 F$ F F FB2k06`3s1x#DhB&`D!` $p k0A?A/A} l} l3vY1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3yY1x#DhB&`D!`%p k06y`v3|0* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8̃A=A.4} l} l30* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2k06`31x#DhB&`D!` $p k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3Y1x#DhB&`D!`%p k006`31x#DhB&`D!` $p k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0 6`3Y1x#DhB&`D!`%p k04Ӎ "-QsC0s#"@@ F1#Ѓb,8`i(aj(Di(a)`]8F"J|"  !i(a)"  i(an40` 0@ & `B0`8F"J|" 0P 0@&& a@abF"J|pF"XA-Α&'j(‹i(aÉ& +VAƊ4i(a)pFŠebٸF"J|pFÊ+ cŊi(a)pFÊ+ cŊi(aÉ&+VXQ +VXA?Α&'pDXbE)Xb E"J|j(Ti(a)j(i(af@@K&BFeh9E"J|n4P@Q 4i(afdi(a)pD@)e9F"JiqF"J|jqF"xA@_&qFeF"J|jqFe 9F"Ji  (k)ɧ1n4 @j @@k&qG k)ɧ1pD @A) @řF"JbqF"ЙCu&X`0gN̙Cx&X`0gΜB3gF"Jbq GĜ9s攢Ϝ9s搟)_XƨQP)ɧ11j ( D i(a11l$ @PCС)ɧ11l$ @PD)_XƸрB0B5H"J|jqcqF  i(a11pD @A)$!@MH"J|jqcqG!s)*X i:G"J S8aDΑ&p`!n4`„0aDΑ&p`!pD`„ S)Da„ *T @@`*sP2^a0Ѭ" @@ *Ü9s(W@ʀ Es0g/F0g0V9sPB̙3G+9s̙C `ί_Ԭ s̡geiE+&LhZ0D@V9PBm#e@ y+n"0@+&L0 s &BWL0 ue +L]`"xe+&D {e4#Le+ԯп"88@ 4 P2,B$),bX9s @XL D Y,s @`8A7X$( 4QIP ' %(B dAFKrI>&$%EP2hR"TI7P $ġxROBQ? ((B 4!HQ2JM)%%,ER"$rJO0E-&}4NUJ}+e%NEകau &@" Bh y0DΐjCp!@4#D(}"QSF2 !0&2\' !Ub#XQ-ɱ!VXaR"I&U6E0!0O\?s %E\@!0R]Kt.;%F3RjC̙3gNVc%Fk,wx|:hwt t68xvHq2$""Uf={6l(@0di`E@!KC , Y<  Y,g@C5@!0% `B0d  Y,@CQ@!)%` 0dy Yh,C]!K/`20d1 Y,Cy!=%`0d YJ,(C!K%&`B0d  Y|,aC!Y,`b0d1  Y,hC! Z-`Ȃ0dA  Y,lC!ZE-`0da  Y,fC!Y,`0dQ  Y,jC!ZE-`Ȣ@0dQ  Y,lC! [E.`@0da  Y,jC! ].`B0d  Y,tC! ].`Ȣ0dQ  Y,tC!ZE-`B0d  Y,vC!]-`@0d  Y,nC![-`0dq  Y,|C!_/`0dq  Y,zC!Kh%4`0dq  YH,|C![-`0dq  Y,nC![-`0dq  Y,zC![-`0dq  Y,jC! _/`b0d1  Y,nC![-`0dq  Y,nC![-`Ȣ0d  Y,nC![-`0dq  Y,zC!^E/`Ȣ0d  YP,nC!jE5`Ȣ0dQ  Y,nC!jE5`Ȣ0dQ  Y,zC! k5`Ȣ0d  Y,nC![-`0dq  Y,nC!k5`0dq  Y,nC! l6`0dq  Y,C![-`0dq  Y,nC![-`0dq  Y,C!m,`b@0d1  Y,fC! Z-`Ȃ0dA  Y,hC!^6`B@0d  Y,fC!Y-`b@0dA  Y,hC! Z-`Ȃ0dA  Yh,C!l7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yx,C! o7`@0d  Y,C`!Kye<X`R@0d9 Y,C!z6`B@0d  Y,C! m6`Ȳ0d  Yh,C! ].`B@0d  Y,tC! ]=`@0d  Y,C!K|%>`@0d Y,C!|>`R@0d  Y,C!nE7`0d  Y~,C!o7`0d  Y~,C!o7`0d  Y~,C! n7`Ȃ0d  Yp,C!o7`0d  Yt,C! ?`0d  Yp,C! n7`Ȃ0d  Yp,C!o7`0d  Yt,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Yp,C! o7`0d  Yx,C!Kx%<`0d   Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Y,C!x<`2,0d)  YD, C! ED``"0d  YH,&C! Eh`b"0d1  YV,fC!YE`B"0d! YH,$C! D`"0dy Y^,1C!K%F`#0d Yb,3C!ˌeF`#0d Yb,1C!K%F`R#0d  Yj,5C!KF`R#0d Yr,9C!ˎeG`Ȳ#0d Yv,;C!KG`#0d Yv,;C!ˎeG`Ȳ#0d Y,aC2!G`Ȓ&0da Y,uC<!˞%Lx`B&<0d1 Y,CR!˩EU`*0d Yh,C]!KG`#0d   Y,fC!KM`&0d Y,{C0! L`#0d YH,CU!KV`"+0d Yt,C!ˏ%Lp`&80d! Y~,iC6!˛EN`R'0d Y,dC3!ˏO`*0d! YT,CX!V`r+0d Y~,?C0!KLp`b&0d Y,oC9!KO`Ȳ'0d   Y,?C?!KT`r*0dQ Y`,CZ!˭EW`+0d! YH,$C_!˯@ 2(L &GCP QEP#%@FhyC:bl @-(a1"u68\Άj&p:b.@gC PEl1  1Xa!+p"s6ĸ\@Ά"r61!9 1 El!h. gC|Pp9b%\@Ά+"r6Ġ9!M 1|ElAx. gC Xp;b;.\Άt!"v6Ġ{!] 1ElA.`gC4+p:b _M \ΆrW"s6Ĩ! 1$El'.PgCP9-p:b jTR \`ΆZ"s6h! 1nEl+. gC^-p9bInMt \Άo["t6Đ!F 1ķEl'. gC ?!/p:bJyT \Άr^"s6P!F 1`EElq+.0gC ]q/p9b{#M \Άl_"t6x! 1dEl'. gC=/p9b#TF \ΆBb"t68! 1ZEl+(. gC[Y1p9b WZ \@ΆiRc"u6`!ƛ 1ElQ'9.0gC <1p9bɎO \Άf"t6 1!Ʃ 1TEl*e. gC X13p9bJCW \@Άf"r6q{vHyp{(ytxw# w{h7wpwptxw) DaH,LP?,0]#(V@@ h5Q,? L0?M&Mc?05C$/p ,K`? , |3H0VH`s \8^ALOi BDIo/8L<2)#̈́[H ?M&pL0t˅ &[pst9/a,b? 0 |3H0H`s \8b]X\/S/a$ b?ED\O"6s8Ff8d#G @KH#8҃i6>s w /aD0)45. 4bP3b"sM3BLx$ ,Oi <KG bUL6LD/N 6h )SD]9_,0H3Qf? FJf[s``? FJvK`s &M"5,2)Yp/,2)q/P,05/aD0V[s`$c? FJ.v>s w /aD0in/Q\R1~SU/KX#mA,3#<?4p/,2)y=09 ""iD/a0 4,2)Yt/PBs@`H3&K@?,05,/uLhK4L$&;M0j!8RaSˢM%] )#dw/`$4n?0`W$63>QQDa? 5M-Nc,Nc-sLb#IbŲd0 /aD0]P )/Nc,NcZ`stO=5B$Y < 4)4I$? -\\0;/aD0u*69 "hK4- KP46s]3BD-I(p5Ha@ Ka)?5(_,0ՅLOi IgQDLTLDaFPPX9$EX\0 ,f? ?L8 E Q!_ )KMLh w ,=09 "H&@?M%IX7A5.N,)Y٢/^,06p-!Ma? z8ۆ=(ď4 8  K`s &M^ \\0`/aD0)@0 L%If?,@0 DY8ϵ94͔< 6 iQ@0 پ@X=09 "^L\/KX#$g2S Y s]t?8V$ X\0FIf? PBض,L-\\0`/aD0i069 "/aD0;sL&pf?/Sϐ 6s_,0H3-P:T3@:5=4vad 3.8Q A4&#(XaA5Q,DduQ,5B P,69 "#(sL@c-` C}  36;sL&Ҥe?:09 "pK4La`\/ iP H)/Nc,Nc&?PL2RJt8dۨ/ NIMq(H3QaS05 4Lh \I6 C5L_h w ,X=09 "HbhlQ/a LIb?KG!bD) < 6 )#69 "K4qLh IC aSH3`?:09 "HK4Lz]KPs Jz]Yst?8VKX#$IC aSH3Qcu?`S0i/aD06sH vsH PA4v9PBLD369 "N#(k0-K R4d? 94m,M!GD2RJL \,sL0Ib!C0h0 ),mײTT@[@?ps 4If?809 ",fI?w8O!TXϵL%8u\\0i,IaKG b?4(O!T'VI`s BG8&QH\ ?%N4d?/SO F:s,PB\-P:T3@X/ $4m? 8L KHs)3/8&!F3s\\/_NKX#$XF=(ď4SvVJ`s 8"}$G y@So@A\]^9"!M1X_9"!MAX^9"!MQ~/$4mK?74H8/$4n?Tt /B$V38FPX@Ϲ4RX+uLZ3J$N-KMU1~DBD5/4i\\/_NKX#$7 Nd?`b4`?KGc55B$]4 ΃I=H\ p`?:09 "TK4L ;3Lh^E02RJ?L? SD5Ba? YH_h 6 8b?H3QQ/ a?:09 "xpJ vsm#_,0!6-?M%h H)أ/ $c? y02RJ&i H))/ d? %_ 2iHh 8b? }02RJb`DD\ PBԃ%_ 2i31D\ ?%@d\\0R/aD0iة/ daSˢM0v@"8&!FS>KGb 8QXϵL%8& 8 fb?44],0%-P:T3@u LxQ!H +P, \f/sLƦb?DTHS< ?M0L\/KX#$ *ˢMZ3L2FJt8dy/`NIMa DTHSFX@HFԲh 48b&?5(O-Nc Xk80Ma?KGKX#$Wm@98FP@ˢMZ3r=T>@?M%IdA5Q,D }A/d.@d`@QT~A/d.@۬Q0Hc#0 P_h w /aD0fY`stO=5B$ C01>?P?,0`"/aD0hp )Y44m?0;Qz]:sM#d,R5C5 PO-69 "p#( D9E"NsM?`5B<"HL`q?T 21#R4DH`s \8& Բ0HcֲTT@!DKX#cuQ,X͒ I0?M!&Mc0 < BD)YuL0JZ `?KG%b4Ga? :%@d[y/`N ᖶ.!F `k?b42?4H8dg?b42+5AԲh BDIXg5Q,?I @S*ϵLZ3&M^ydR1~SUH |3HS + MQغ69 "Nd?DT MUX7\ b? p%-@\ p fP,D 8O-69 "HcH8" c6Kps If/69 ",uM!d,DR5C5 4O-69 "L\/KX#$ ϵL0&M"Dh \\/_NKX#$ !_ 2v/?,0i$SӅL\ ?83 Ø7\b? p-=\\0 /aD0iu S7asML64SQ5C5 mH2FJDm?KG-b? FJmtD0eS0`",tA/z8a LDx71 @B kLk\a Lx71 @B kLk\a Lęx&710 `D@ "p kLk\k`a Lx&710 `D@ "p kLk\k`a Lĸx720 $`DPxà0AD kLk\k`kda Lx720 $`DPxà0AD kLk\k`kda A, 3j0(`Dp x(  F7M1@ lLkXk\k`kda A, 30(`Dp x(  F7M1@ lLkXk\k`kda LDx&71 @ kLk\a Lx&71 @ kLk\a LDx6710 `D@ #p kLk\k`a Lx6710 `D@ #p kLk\k`a LĹx&720 $`DPxà0A!D kLk\k`kda Lx&720 $`DPxà0A!D kLk\k`kda A, 3p1(`Dpx(!  F7M1@ lLkXk\k`kda A, 31(`Dpx(!  F7M1@ lLkXk\k`kda LDx671 @ kLk\a Lx671 @ kLk\a LĜxF710 `D@ $p kLk\k`a LxF710 `D@ $p kLk\k`a Lĺx6720 $`DP xà0A1D kLk\k`kda Lx6720 $`DP xà0A1D kLk\k`kda A, 3vY1(`Dpx(1  F7M1@E lLkXk\k`kda A, 3Y1(`Dpx(1  F7M1@E lLkXk\k`kda LDxF71 @ kLk\a LxF71 @ kLk\a LĻxV710 `D@ %p kLk\k`a LxV710 `D@ %p kLk\k`a LDxF720 $`DPxà0AAD kLk\k`kda LxF720 $`DPxà0AAD kLk\k`kda A, 3Y1(`Dpx(A  FG7M1@E lLkXk\k`kda A, 3Y1(`Dpx(A  FG7M1@E lLkXk\k`kda LDx671 @ kLk\a LDxF710 `D@ $p kLk\k`a Lx6720 $`DP xà0A1D kLk\k`kda A, 3Y1(`Dpx(1  F7M1@E lLkXk\k`kda LĽxF71 @ kLk\a LxF71 @ kLk\a LDxV710 `D@ %p kLk\k`a LxV710 `D@ %p kLk\k`a LDxF720 $`DPxà0AAD kLk\k`kda LxF720 $`DPxà0AAD kLk\k`kda A, 3Y1(`Dpx(A  FG7M1@E lLkXk\k`kda A, 3Y1(`Dpx(A  FG7M1@E lLkXk\k`kda LDxF71 @ kLk\a LĮxV710 `D@ %p kLk\k`a LxF720 $`DPxà0AAD kLk\k`kda A, 3Y1(`Dpx(A  FG7M1@E lLkXk\k`kda A#&kkk@a A!&kkk@a A!&kkk@a A!&kkk@a A%kkk@a A%kkk@a A%kkk@a A%kkk@a dkk@a dkk@a dkk@a dkk@a dkk@a A%kkk@a A%kkk@a 'J,  ^,A2@,`00e F ^,1b@@{%@@1K T @A8 kk@0@د!b,Km,m, a 'J,  `^,A2@,`00e F ^,1b@z%@@1K T @A8 kk@0@د!b,Km,m, a (J,  ^,A2@,`00e F 0^,1b@x%@<`  1K TH@ kk@0@د!b,Km,m, a (J,  [,A2@,`00e F [,1b@o%@<`  1K TH@ kk@0@د!b,Km,m, a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a dk\k@a ~dk\k@a |dkk@a |dk ,a ydk ,a wdk ,a ydk ,a tdk ,a rdk ,a pdk ,a Ao%kkk@a Am%kkk@a Ak%kkk@a hdk ,a fdk ,a Ae%kkk@a Ac%kkk@a `dk ,a A?%kkk@a A=%kkk@a :dk ,a 8dk ,a 6dk ,a 4dk ,a 2dk ,a 0dk ,a .dk ,a A-%kkk@a *dk ,a (dk ,a &dkk@a $dkk@a A#%kkk@a A!%kkk@a dkk@a dkk@a dkk@a dkk@a dkk@a dkk@a dkk@a A$kkk@a dkk@a dkk@a dkk@a dkk@a dkk@a A$kkk@a A$kkk@a A$kkk@a 4A@kkk0@c, a dkk@a dkk@a dkk@a dkk@a dkk@a dkk@a dkk@a dkk@a A$kkk@a 4A@kkkk@a A$kkk@a A$kkk@a dkk@a dkk@a dkk@a ~dkk@a |dkk@a |4kk@HY!dkk@a pĠ kkk@a  pĠ kkk@a A:$kkk@a A:$kkk@a A:$kkk@a D,` n#\@f t0f !p kkl@A!R۰S,> a D,` n#\ f p0f !p kkl@A!R۰S,> a D,` n#\ f p0f !p kkl@A!R۰S,> a D,` n#\ f p0f !p kkl@A!R۰S,> a A5$kkk@a A3$kkk@a A3$kkk@a A3$kkk@a A$kkk@a A*$kkk@a  pĠ kkk@a pĠ kkk@a A&$kkk@a A&$kkk@a A&$kkk@a D,` n#\@f L0f !p kkl@A!R۰S,> a D,` n#\ f H0f !p kkl@A!R۰S,> a D,` n#\ f H0f !p kkl@A!R۰S,> a D,` n#\ f H0f !p kkl@A!R۰S,> a A!$kkk@a A#kkk@a A#kkk@a A#kkk@a A$kkk@a A#kkk@a  pĠ kkk@a pĠ kkk@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a AA0?CA8k0Tb0 !Ik@a AA?CA8k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a 3A@k0Tb0 !Ikpa, a 3A@k0Tb0 !Ikpa, a A#k0Tb0 !Ik@a A#k0Tb0 !Ik@a 3A@k0Tb0 !Ikpa, a dĀ # . k@N3X!a dĀ # . k@N3X!a +J,  @:FA$ D P:a F `:J#΢$@N` 8 1K TH@ kkkk@0@ذA!RA!r[A!b[!a )J,  71K 7 2 D0bP,2``0PA LjA$@N` 8 1K TH@ kkk@0@!b,Km,m, a )J,  71K 7 2 D0bP,2``0PA{ LjA{$@N` 8 1K TH@ kkk@0@!b,Km,m, a )J,  @71K 7 2 D0bP@,2``0PAv LjAv$@N` 8 1K TH@ kkk@0@!b,Km,m, a 'J,  6,A2@,`00oc F 7,1b@$@@1K T @A8 kk@0@د!b,Km,m, a 'J,  6,A2@,`00jc F 6,1b@$@@1K T @A8 kk@0@د!b,Km,m, a 'J,  @6,A2@,`00ec F `6,1b@$@B1K T @A8 kk@0@د!b,Km,m, a 'J,  3,A2@,`00`c F 6,1b@@$@B1K T @A8 kk@0@د!b,Km,m, a (J,  3,A2@,`00;c F 3,1b@$@N` 8 1K TH@ kk@0@د!b,Km,m, a (J,  P3,A2@,`006c F p3,1b@$@N` 8 1K TH@ kk@0@د!b,Km,m, a  ,p kk@0@a  *p kk@0@a  0p kk@0@a A+#k0Tb0 !Ik@a A)#k0Tb0 !Ik@a A'#k0Tb0 !Ik@a A%#k0Tb0 !Ik@a A##k0Tb0 !Ik@a A!#k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a AA@/CA8k0Tb0 !Ik@a AA /CA8k0Tb0 !Ik@a AA/CA8k0Tb0 !Ik@a AA.CA8k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A"k0Tb0 !Ik@a A}"k0Tb0 !Ik@a A{"k0Tb0 !Ik@a Ay"k0Tb0 !Ik@a Aw"k0Tb0 !Ik@a Au"k0Tb0 !Ik@a As"k0Tb0 !Ik@a Aq"k0Tb0 !Ik@a Ao"k0Tb0 !Ik@a Am"k0Tb0 !Ik@a Ak"k0Tb0 !Ik@a Ai"k0Tb0 !Ik@a Ag"k0Tb0 !Ik@a Ae"k0Tb0 !Ik@a d2A@k0Tb0 !Ikpa, a b2A@k0Tb0 !Ikpa, a `2A@k0Tb0 !Ikpa, a >2A@k0Tb0 !Ikpa, a <2A@k0Tb0 !Ikpa, a :2A@k0Tb0 !Ikpa, a A7"k0Tb0 !Ik@a A5"k0Tb0 !Ik@a A3"k0Tb0 !Ik@a A1"k0Tb0 !Ik@a A/"k0Tb0 !Ik@a A-"k0Tb0 !Ik@a A+"k0Tb0 !Ik@a A)"k0Tb0 !Ik@a A'"k0Tb0 !Ik@a A%"k0Tb0 !Ik@a A#"k0Tb0 !Ik@a A!"k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a A!k0Tb0 !Ik@a dĀ2k@<1X!a dĀ2k@<1X!a dĀ# . k@<1X!a dĀ# . k@<1X!a \ 2k0#Ca !A,ʇu7`@0rdldld ld0{<<<<6! 10H p kPX0kpHP aCDa !A,ʇu7`@0rdldld ld0{<<<<6! 10H p kPX0kpHP aCDa A,\flnP0rdldld ld0{<<<<& !2kPX0k0T@d@,a A,\flnP0rdldld ld0{<<<<& !2kPX0k0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d4 H a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d4 H a !A,ʇu7`@0rdldld ld0{99<<6! 10H p kPX0kpHP aCDa A,\flnP0rdldld ld0{99<<& !2kPX0k0T@d@,a A,ʇ΅A7`n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d@,a !A,ʇ΅A7``n s `@p`@q`@r`@sH6! 10H p kPX0k0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8kPX0kpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8kPX0kpHP aCDa >A,'\flnP0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&H*nhdXST`݈#E(A8kPX0k0T@d@,a >A,'\flnP0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&H*nhdXST`݈#E(A8kPX0k0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d4 H a AA,(ʇT;=8>AA?@:t0vpt |pq92626262=@@@@@\^@;؃A} l#DhB&!I*dG @&0 AU숁L#E8AA8kPX0kpHP aCDa >A,'\]@;؃}@l l Dp.3y@s`7xpq92626262=@@@@@\^@;؃A} l#DhB&H*nhcXST`݈#E0A8kPX0k0T@d@,a @A,(ʇT;=8>AA?@Bt0vprx{p790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8kPX0k0T@d@,a AA,(ʇT;=8>AA?@Bt0vpq0v790 8`0 8`0 9`0 9 T;=8>A?} l@#DhB&!I*dG @&0 AU숁L#E8AA8kPX0k0T@d4 H a AA,(ʇu7`@0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8kPX0kpHP aCDa AA,(ʇu7`@0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&!I*dG H&0 AU숁M#E0AA8kPX0kpHP aCDa >A,'\flnP0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&H*nhdXST`݈#E(A8kPX0k0T@d@,a >A,'\flnP0rdldld ld0{<<<<๼jw7;026 862=8@ؠ ؁ T;=8>AA?#DhB&H*nhdXST`݈#E(A8kPX0k0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d@,a @A,(ʇ΅A7`n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d@,a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d4 H a AA,(ʇ΅A7``n s `@p`@q`@r`@sH vx{pq:} 8`2~`0 9؃ @؀\]@;؃}l l #DhB&!I*dG H&0 AU숁M#E0AA8kPX0k0T@d4 H a A,& ! 1@.9ф kPX0kpHP aCDk@0a A,& ! 1@.9ф kPX0kpHP aCDk@0a A,!P"M kPX0k0T@d@,`H a A,!P"M kPX0k0T@d@,`H a A,& ! 1@.9ф kPX0k0T@d@,`H a A,& ! 1@.9ф kPX0k0T@d@,`H a A,ʧ 6! 1@ ."Aф kPX0k0T@dH & )a A,ʧ 6! 1@ ."Aф kPX0k0T@dH & )a A,& ! 1 BqDM+  kPX0kpHP aCDk@0رA!R!a A,!1@-%0ф1  kPX0k0T@d@,`H, ,a A,& ! 1 BDM+  kPX0k0T@d@,`H,,a A,ʧ 6! 1 ࿒b)DM@,  kPX0k0T@dH!, & )Vl@a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4kPX0kpHP aCDk@0a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4kPX0kpHP aCDk@0a 4A,h\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4kPX0k0T@d@,`H a 4A,h\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4kPX0k0T@d@,`H a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4kPX0k0T@d@,`H a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4kPX0k0T@d@,`H a 7A,ʧ h\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4kPX0k0T@dH & )a 7A,ʧ h\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4kPX0k0T@dH & )a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  G"`4!iBPAv4;b^L 0bP4kPX0kpHP aCDk@0a 4A,\]@;؃}@l l tx./   `>6y`r#DhB&G*n`A F%\7b]@ 0bP4@kPX0k0T@d@,`H a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG  "`4!iBPAv4;b^L 0bP4kPX0k0T@d@,`H a 7A,ʧ \]@;؃}@l l tx./   `>6y`r#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4kPX0k0T@dH & )a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4kPX0kpHP aCDk@0a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  G"`4!iBPAv4;b^L 0bP4kPX0kpHP aCDk@0a 4A,h\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4kPX0k0T@d@,`H a 4A,h\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7b]@ 0bP4kPX0k0T@d@,`H a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4kPX0k0T@d@,`H a 6A,ʇT;=8>A?} lTx.   @a>`66#DhB&H*dG  "`4!iBPAv4;b^L 0bP4kPX0k0T@d@,`H a 7A,ʧ h\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4kPX0k0T@dH & )a 7A,ʧ h\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG '!`4!qBPv8;b^P" 0bP4kPX0k0T@dH & )a A,q04v 78vxqvpw7;0 8`02^؁ #DB@k06y`v3g01' 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;;<A.4} l} l3j0a' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,x.6Ā ΁A A``؀  v t`>@6`3m0x#DhB&`D! `#p k0A?A/A}l}l3p1 x Œ71b@4&h& h1 F$ F F FB2k06`3s1x#DhB&`D!` $p k0A?A/A} l} l3vY1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3yY1x#DhB&`D!`%p k06y`v3|0* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;;A=A.4} l} l30* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,y.6Ā ΁A Aܠ`؀  v t`>@6`30x#DhB&`D! `#p k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2k06`31x#DhB&`D!` $p k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3Y1x#DhB&`D!`%p k006`31x#DhB&`D!` $p k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0 6`3Y1x#DhB&`D!`%p k06y`v3g01' 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8<A.4} l} l3j0a' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3m0x#DhB&`D! `#p k0A?A/A}l}l3p1 x Œ71b@4&h& h1 F$ F F FB2k06`3s1x#DhB&`D!` $p k0A?A/A} l} l3vY1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3yY1x#DhB&`D!`%p k06y`v3|0* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8A=A.4} l} l30* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2k06`31x#DhB&`D!` $p k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3Y1x#DhB&`D!`%p k006`31x#DhB&`D!` $p k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0 6`3Y1x#DhB&`D!`%p k06y`v3g01' 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8<A.4} l} l3j0a' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3m0x#DhB&`D! `#p k0A?A/A}l}l3p1 x Œ71b@4&h& h1 F$ F F FB2k06`3s1x#DhB&`D!` $p k0A?A/A} l} l3vY1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3yY1x#DhB&`D!`%p k06y`v3|0* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8A=A.4} l} l30* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2k06`31x#DhB&`D!` $p k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3Y1x#DhB&`D!`%p k006`31x#DhB&`D!` $p k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0 6`3Y1x#DhB&`D!`%p k06y`v3g01' 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8̃<A.4} l} l3j0a' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,x.6Ā ΁A` A``؀  v t`>@6`3m0x#DhB&`D! `#p k0A?A/A}l}l3p1 x Œ71b@4&h& h1 F$ F F FB2k06`3s1x#DhB&`D!` $p k0A?A/A} l} l3vY1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3yY1x#DhB&`D!`%p k06y`v3|0* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p k0Lc3Ek0Da GA, \w;;8;8̃A=A.4} l} l30* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ k0Lc3Ek0Da %A,y.6Ā ΁A` Aܠ`؀  v t`>@6`30x#DhB&`D! `#p k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB2k06`31x#DhB&`D!` $p k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0`6`3Y1x#DhB&`D!`%p k006`31x#DhB&`D!` $p k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR2k0 6`3Y1x#DhB&`D!`%p k04Ӎ "-QsC0s#"@@ F1#Ѓb,8`i(aj(Di(a)`]8F"J|"  !i(a)"  i(an40` 0@ & `B0`8F"J|" 0P 0@&& a@abF"J|pF"XA-Α&'j(‹i(aÉ& +VAƊ4i(a)pFŠebٸF"J|pFÊ+ cŊi(a)pFÊ+ cŊi(aÉ&+VXQ +VXA?Α&'pDXbE)Xb E"J|j(Ti(a)j(i(af@@K&BFeh9E"J|n4P@Q 4i(afdi(a)pD@)e9F"JiqF"J|jqF"xA@_&qFeF"J|jqFe 9F"Ji  (k)ɧ1n4 @j @@k&qG k)ɧ1pD @A) @řF"JbqF"ЙCu&X`0gN̙Cx&X`0gΜB3gF"Jbq GĜ9s攢Ϝ9s搟)_XƨQP)ɧ11j ( D i(a11l$ @PCС)ɧ11l$ @PD)_XƸрB0B5H"J|jqcqF  i(a11pD @A)$!@MH"J|jqcqG!s)*X i:G"J S8aDΑ&p`!n4`„0aDΑ&p`!pD`„ S)Da„ *T @@`*sP2^a0Ѭ" @@ *Ü9s(W@ʀ Es0g/F0g0V9sPB̙3G+9s̙C `ί_Ԭ s̡geiE+&LhZ0D@V9PBm#e@ y+n"0@+&L0 s &BWL0 ue +L]`"xe+&D {e4#Le+ԯп"88@ 4 P2,B$),bX @R0X @K &bt#E0p4Ҋ"H@} EDR" I%IFd$>TJRR%-%U)B LI&$E@tR"I=)H$ԤMPR,E(%*B"s~"`GMN<%ԧ}TTNUj@@XZ0B@y-CBl!@ Ė!!DFf &a+8XAj˰b;@} Ă^ADAP"CgH !8D DIJ>)#Pr@Q.dP$)V(+VXQ*sE F"I&.朤y"xIX(.$m#̙SO!̙3n#`TU7,wx|:hwt t68xvHq2$""Uf9s6l(@0di`E@!KC , Y<  Y,g@C5@!0% `B0d  Y,@CQ@!)%` 0dy Yh,C]!K/`20d1 Y,Cy!=%`0d YJ,(C!K%&`B0d  Y|,aC!Y,`b0d1  Y,hC! Z-`Ȃ0dA  Y,lC!ZE-`0da  Y,fC!Y,`0dQ  Y,jC!ZE-`Ȣ@0dQ  Y,lC! [E.`@0da  Y,jC! ].`B0d  Y,tC! ].`Ȣ0dQ  Y,tC!ZE-`B0d  Y,vC!]-`@0d  Y,nC![-`0dq  Y,|C!_/`0dq  Y,zC!Kh%4`0dq  YH,|C![-`0dq  Y,nC![-`0dq  Y,zC![-`0dq  Y,jC! _/`b0d1  Y,nC![-`0dq  Y,nC![-`Ȣ0d  Y,nC![-`0dq  Y,zC!^E/`Ȣ0d  YP,nC!jE5`Ȣ0dQ  Y,nC!jE5`Ȣ0dQ  Y,zC! k5`Ȣ0d  Y,nC![-`0dq  Y,nC!k5`0dq  Y,nC! l6`0dq  Y,C![-`0dq  Y,nC![-`0dq  Y,C!m,`b@0d1  Y,fC! Z-`Ȃ0dA  Y,hC!^6`B@0d  Y,fC!Y-`b@0dA  Y,hC! Z-`Ȃ0dA  Yh,C!l7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yx,C! o7`@0d  Y,C`!Kye<X`R@0d9 Y,C!z6`B@0d  Y,C! m6`Ȳ0d  Yh,C! ].`B@0d  Y,tC! ]=`@0d  Y,C!K|%>`@0d Y,C!|>`R@0d  Y,C!nE7`0d  Y~,C!o7`0d  Y~,C!o7`0d  Y~,C! n7`Ȃ0d  Yp,C!o7`0d  Yt,C! ?`0d  Yp,C! n7`Ȃ0d  Yp,C!o7`0d  Yt,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Yp,C! o7`0d  Yx,C!Kx%<`0d   Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Y,C!x<`2,0d)  YD, C! ED``"0d  YH,&C! Eh`b"0d1  YV,fC!YE`"0d  Y^,/C!ˋE`"0d Yf,3C!KF`R#0d Yj,5C!ˍF`r#0d Yj,5C!KF`R#0d Yv,;C! %G`2&0d1 Y,oC9!KeGx`#<0d Y,{C?!KT`r*0dQ Y\,CZ!˭%G`Ȓ#0d Y|,`C!˘L`Ȓ&0da Y,uC!L`Ȓ#0d Y,CR!˩EU`*0dq Yh,C!KeGp`Ȳ#80d Yr,cC3!KM`&0d Yv,>C0!KO`Ȳ'0d YH,CU! U`+0d Yr,9C!ˎGp`&0d Y,iC6!˛EN`R'0d Y,9C<!˞O`*0d! YT,CW!KV`r+0d! YH,$C!Y,`Ȓ+0d  Yr,C]!K%>`+0d   Y,@Cq!˸e\`r.0dI Y,Cv !K@ 2(L &GCP QEP#%@FhyC6bl@-(a1"m68]͆j&w6b.fC PEl1  1XasX!+p"k6ĸ]@͆"j61pP!9 1 El!h.fC|Pw5b%]@͆+"j6Ġ9pP!MЁ 1|ElAx.fC Xw7b;.]͆t!"n6Ġ{pp!] 1ElA.fC1)w6b O#Mz]͆lS"k6xrX! 1$El'f.fC=9+w6b Z#T]`͆V"k68rP! 1bElA+p.fC[+w5bI^L]͆iW"l6`rX!ƛ 1įElQ'.fC uQ,D5B uT2@J] 0h 46NsT:de0Ma? p1U(O0@a? p1%/!F 1P,0;/aD0= M0IHOi 8b?KGc55B$IPO-69 "h#(V* M!8҃&* Mϵ 0 ,/a0)b?Ea7?6(?8T0 .?M-AԲh IX5 /Nc,Ncԗ < )L%IEa?HU$/QӅ18SaSˢM%8bD X\/S/a` b#0;/aD0F.sLZ3Ib?f* Ͳت74 c?909 "#(u469 "NK4}<2)#dh/8L ,`S0`,z@!TduQ,D5B |3H,* X#uL&pJavO`stO=5B$u,q=Ep@S4 (3/!HRL%IbTL6LXnϺ$KAP5 SH3I$.?MhdUL6LDx/N 6^ )SD]9_,0H3Qf? FJfYs``? FJvK`s &M",2)Yh/e,2)i/P,05/aD0VYs`$c? FJ.v>s w /aD0if/\R1~SU/KX#mA,3#<?4h/i,2)y=09 ""iD/a0 4,2)Yl/PBs@`H3&K@?,05,/uLhK4L$&;M0j!8RaSˢM%[ )#do/`$4n?0`W$63>QQDa? 5M-Nc,Nc-sLb#IbŲd0 /aD0[P )/Nc,NcX`stO=5B$Y < 4)4I$? -\\0;/aD0u*69 "hK4qpR1~SUp>r۶3.ATDu KM$٣6 !,@\ 8TK0?MZ3&McFS0Q0C5Ca?_4R =`s 6 8b}@3BH3 3NDPXv/.N4&>0?M%8b?0`"M$:PBԲQc?ŀ0Ea,M- 6Mps BDIf,M-Q] )KM0KKS,F/sM w Ga6:PBԲQf? FJDLOi w ,'ϵL&M&Ib?:09 "HK4L VKPs J `HH 4R1~SU_4A XSхD2@JLq@2) v^ )SH3i`s?L KX#$aX\p@Ia?0B$&i`s?L KX#$AX\p@Ib?3$?`5Bؤϵ 0 4/a0v1s]3BD.Id?:09 "HK4L$KPs J$8րՅYX\p@ f#0`",إϵ 0 4/a\6,C5CavaCi-KMU1>LKX#Ѕ5H2FJm? p] |3uasM3Bb?\EaȲD 9H2FJn ?4(/@t`SˢM&&Mc%?4(Ŀ8q/bCRs8R |3]&,YcXEa3?8(Ŀ88_ucXb8FP7A5@D )YYh8 !Ma? Ea?KGc55B2$03Ԣr]6Pȅj@TԲ؃C G 8 bSb,5,?M0Բ؃C G51KDEDAsm3Bt8фO4Բ؃C G`\pɐ"FPvY;C-:~ f?:09 "hK4La` 8 Ib?5(/N4ݒ$ 69 "#(Ss3Bu]h0 H),m?5(O q* u٫74f?4Ea?0 P"8&!Fc? FJt8d[j/;%N4h`sA5 HRL$` C}  3&s]3B4FXLv8G |3H]* Lv8GD\ ?8a3=O!dLD 0Է@ P`:aFL? H3Lv8G)/!F Sa?0il$u8?8T`$KƦMLL,0FI?ϵQ,X/a b,,Ԙ#`D,?BHKS;,7U35EpR1~SUp@>r9PBGD2FJD< uYnA/`d.@dC a/eIP?,0`/aD0s4],0!-P:T3@c8Va9? X9C-$&sm3Bt8TOF)$ˏԅ< ))AԲh Iبϵ 0 ,/a)b*?5(_,0Ea#0`"/aD0I ?M( D4SaS0`"/aD0&Osm? LHE0TsPˁ$(3r Ib#ˢM&`R1~SUH/,f)pQ4Ua?0 C: s.8҃/p 4X`/69 "N#(&p,C5CaܲTT3$>`5=|QQ69 "xp&Mc?#8de? z8dhϷ4H2@Jn? ?L6X@0 4.uLhK4Lz]6Hps \Ib0Qc?;09 "xp&MbU(8S`0e?#44SJV;sL0Ea0Qfb?0`Wz]X0s]t/a\b?@\O0uLhK4La\0 ),m?!T"ϵL&p&M&HOi &Mc?0`Wa6s_,0H3-P:T3@:5=4vad 3.8Q A4&#(ϵQ,X/a$ b,M!G%#R4LOi I\9"5@S]9"5@Cs@!TC aSH3eS0;,,/HALCDD2RJLe@?8T64eVh H)SH3v,@ p=09 "hÐ& F X{/>8T\R1~SUoKX#ϵL&&MbT\0F8b@\#-$$s}L? Lm`\pI">ps w ,Ea?909 "p#(i$sM3BLub?909 "t#(iϵ SD=MF:s,PB\-P:T3@X~/ $4m? 8L KHs)3/8&!F3s\\/_NKX#$XF=(ď4SvVJ`s 8"}$G y@So@A\]^9"!M1X_9"!MAX^9"!MQv/$4mK?74H8w/$4n?Tt /B$V38FPX@Ϲ4RX+uLZ3J$N-KMU1~DBD5/4\\/_NKX#$7 Nd?`b4`?KGc55B$]4 ΃I=H\ p`?:09 "TK4L ;3Lh^02RJ?L? SD5Ba? YH_h 6 8b?H3QQ/ a?:09 "xpJ vsm#_,0!6-?M%^ H){/ $c? 02RJ&_ H))|/ d? %_ 2iHh 8b? 02RJb`DD\ PBԃ%_ 2i31D\ ?%@d`\pɒ">ps KIIb? 8O-69 "h`<Ma?:09 "xpJ$f`# 8 fb?44],0%-P:T3@u LxQ!H +P, \f/sLƦb?DTHS< ?M05L\/KX#$ *ˢMZ3L2FJt8dq/`NIMa DTHSFX@HFԲh 48b&?5(O-Nc Xk80Ma?KGKX#$Wm@98FP@ˢMZ3C ҿ88a?8SQ69 "xp&Mc? pmERa? pnD - 0h 6 ?@M%I=5Q,? h`sA5 HRL$P\ ?88QcN-KMU1>"I /@D ?"!MQXA,/HALCD3Xr@90QX1uLJ ?"!M.69 "/aD0`,L=)3bb0?9(O-Nc,Ncf !Q$ϵLb#&M&5X\0;,Ib@3Ԣb?@!DKX#$.sLb? ;%N4V^0 )SDn?L]\\0/aD0iX69 "eSˢM&py DTWa#0F+00e?0;Q$"s]3B]M|/QY L`DMADTvHps \Ie#0;,duQ,D5B E 4h w HOi 8b40ua?׻5tD0HPXu=8T64P5C5 DOi m`\0i/aD0) Hps \If?3EZm@1Qu \*P, 46] ) t/`? 02@J] )yXu/$b?PBԲ -P:T3@k/5M-Nc,Nc] )X@69 "xpXt/$c? :%@69 "hK4H2RJpmESa? Q02@JJf] )yYl4 TXx/$f? x\Բ؃C շ@ P`:a?KX#$IDT 0Oi BD-?Mb#XuL&J v3.RC-bEWa?909 "p#()a&`?,0]K4D2RJDD2RJD9H\ ?%@ta?8Qa? P5C5 9 < K)5 SH3Ib?909 "N#(uY-`D,?BVst?Lv8GeX\0 ,`E1 La?909 "#()XH35Ys`.N4?Lv8GyD2)KMy94],0Qf?0RA$Xpst9/a b?׷-@HH]X4uLJa@-K H?4@Ȳh 4Iz/dMS< BDu54=8TH}  3&J@?,0i,Xw@zD0E;5@ bo?T 21#R4D3H QX"uL&pJ$*`P XR1~SUQ/a`S0/aD0 `4Ga? :%@d[q/`N ᖶ.!F `k?b42?4H8dg?b42+5AԲh BDIX?5Q,?I @S*ϵLZ3&M^ydR1~SUH |3HS + MQغ69 "Nd?DT MUX7\ b? p%-@\ p fP,D 8O-69 "HcH8" c6Kps If/69 ",uM!d,DR5C5 4O-69 "1L\/KX#$ ϵL0&M"Dh \\/_NKX#$ !_ 2v/?,0i$SӅL\ ?83 Ø7\b? p-=\\0 /aD0iu S7asML64SQ5C5 H2FJDm? t8ф@2 p69 "H#([s`^,0a LĻp71 @B FkL6k\a Lp71 @B FkL6k\a LDp&710 `D@ "p VkL6k\Fk`a Lp&710 `D@ "p VkL6k\Fk`a LDp720 $`DPxà0AD fkL6k\Fk`Vkda Lp720 $`DPxà0AD fkL6k\Fk`Vkda A, 3d0(`Dp x(  F7M1@ kLfkX6k\Fk`Vkda A, 3y0(`Dp x(  F7M1@ kLfkX6k\Fk`Vkda Lļp&71 @ FkL6k\a Lp&71 @ FkL6k\a Lęp6710 `D@ #p VkL6k\Fk`a Lp6710 `D@ #p VkL6k\Fk`a LDp&720 $`DPxà0A!D fkL6k\Fk`Vkda Lp&720 $`DPxà0A!D fkL6k\Fk`Vkda A, 3j1(`Dpx(!  F7M1@ kLfkX6k\Fk`Vkda A, 31(`Dpx(!  F7M1@ kLfkX6k\Fk`Vkda LĽp671 @ FkL6k\a Lp671 @ FkL6k\a LDpF710 `D@ $p VkL6k\Fk`a LpF710 `D@ $p VkL6k\Fk`a LDp6720 $`DP xà0A1D fkL6k\Fk`Vkda Lp6720 $`DP xà0A1D fkL6k\Fk`Vkda A, 3pY1(`Dpx(1  F7M1@E kLfkX6k\Fk`Vkda A, 3Y1(`Dpx(1  F7M1@E kLfkX6k\Fk`Vkda LľpF71 @ FkL6k\a LpF71 @ FkL6k\a LDpV710 `D@ %p VkL6k\Fk`a LpV710 `D@ %p VkL6k\Fk`a LĿpF720 $`DPxà0AAD fkL6k\Fk`Vkda LpF720 $`DPxà0AAD fkL6k\Fk`Vkda A, 3!Y1(`Dpx(A  FG7M1@E kLfkX6k\Fk`Vkda A, 3"Y1(`Dpx(A  FG7M1@E kLfkX6k\Fk`Vkda Lp671 @ FkL6k\a LīpF710 `D@ $p VkL6k\Fk`a Lp6720 $`DP xà0A1D fkL6k\Fk`Vkda A, 3Y1(`Dpx(1  F7M1@E kLfkX6k\Fk`Vkda LDpF71 @ FkL6k\a LpF71 @ FkL6k\a LĜpV710 `D@ %p VkL6k\Fk`a LpV710 `D@ %p VkL6k\Fk`a LpF720 $`DPxà0AAD fkL6k\Fk`Vkda LpF720 $`DPxà0AAD fkL6k\Fk`Vkda A, 3)Y1(`Dpx(A  FG7M1@E kLfkX6k\Fk`Vkda A, 3*Y1(`Dpx(A  FG7M1@E kLfkX6k\Fk`Vkda LpF71 @ FkL6k\a LDpV710 `D@ %p VkL6k\Fk`a LpF720 $`DPxà0AAD fkL6k\Fk`Vkda A, 3-Y1(`Dpx(A  FG7M1@E kLfkX6k\Fk`Vkda A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a A%6kFkVk@a A%6kFkVk@a 'J,  0^,A2@,`00e F P^,1b@@y%@@1K T @A8 6kFk@0@ح!b,Km,m, a 'J,  [,A2@,`00e F ^,1b@x%@@1K T @A8 6kFk@0@ح!b,Km,m, a (J,  [,A2@,`00e F [,1b@n%@<`  1K TH@ 6kFk@0@ح!b,Km,m, a (J,  @[,A2@,`00e F `[,1b@m%@<`  1K TH@ 6kFk@0@ح!b,Km,m, a d6k\Fk@a d6k\Fk@a d6k\Fk@a d6k\Fk@a d6k\Fk@a d6k\Fk@a d6k\Fk@a ~d6k\Fk@a |d6k\Fk@a zd6k\Fk@a xd6k\Fk@a vd6k\Fk@a td6kFk@a td6k ,a qd6k ,a od6k ,a qd6k ,a ld6k ,a jd6k ,a hd6k ,a Ag%6kFkVk@a Ae%6kFkVk@a Ac%6kFkVk@a `d6k ,a >d6k ,a A=%6kFkVk@a A;%6kFkVk@a 8d6k ,a A7%6kFkVk@a A5%6kFkVk@a 2d6k ,a 0d6k ,a .d6k ,a ,d6k ,a *d6k ,a (d6k ,a &d6k ,a A%%6kFkVk@a "d6k ,a  d6k ,a d6kFk@a d6kFk@a A$6kFkVk@a A$6kFkVk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a A$6kFkVk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a A$6kFkVk@a A$6kFkVk@a A$6kFkVk@a 4A@6kFkVk0@c, a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a A$6kFkVk@a 4A@6kFkVkfk@a A$6kFkVk@a A$6kFkVk@a |d6kFk@a zd6kFk@a xd6kFk@a vd6kFk@a td6kFk@a t46kFk@HY!d6kFk@a <d6kFk@a :d6kFk@a 8d6kFk@a 6d6kFk@a pĠ 6kFkfk@a  pĠ 6kFkfk@a A2$6kFkVk@a A2$6kFkVk@a A2$6kFkVk@a D,` n#Đ\@f d0f !p 6kFkk@A!RۮS,> a D,` n#Ԑ\ f `0f !p 6kFkk@A!RۮS,> a D,` n#Ԑ\ f `0f !p 6kFkk@A!RۮS,> a D,` n#Ԑ\ f `0f !p 6kFkk@A!RۮS,> a A-$6kFkVk@a A+$6kFkVk@a A+$6kFkVk@a A+$6kFkVk@a A$6kFkVk@a A"$6kFkVk@a  pĠ 6kFkfk@a pĠ 6kFkfk@a A#6kFkVk@a A#6kFkVk@a A#6kFkVk@a D,` n#\@f 0f !p 6kFkk@A!RۮS,> a D,` n#\ f 0f !p 6kFkk@A!RۮS,> a D,` n#\ f 0f !p 6kFkk@A!RۮS,> a D,` n#\ f 0f !p 6kFkk@A!RۮS,> a A#6kFkVk@a A#6kFkVk@a A#6kFkVk@a A#6kFkVk@a A$6kFkVk@a A#6kFkVk@a  pĠ 6kFkfk@a pĠ 6kFkfk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a AA>CA8Fk0Tb0 !Ifk@a AA>CA8Fk0Tb0 !Ifk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a 3A@Vk0Tb0 !IFkpa, a 3A@Vk0Tb0 !IFkpa, a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a 3A@Vk0Tb0 !IFkpa, a dĀ # . 6k@N3X!a dĀ # . 6k@N3X!a +J,  7FA$ D 7a F 7J#͢$@N` 8 1K TH@ 6kFkVkfk@0@خA!RA!r[A!b[!a )J,  `71K 7 2 D0bP,2``0PAx LjAx$@N` 8 1K TH@ 6kFkVk@0@!b,Km,m, a )J,  71K 7 2 D0bP,2``0PAs LjAs$@N` 8 1K TH@ 6kFkVk@0@!b,Km,m, a )J,  61K 7 2 D0bP@,2``0PAn LjAn$@N` 8 1K TH@ 6kFkVk@0@!b,Km,m, a 'J,  `6,A2@,`00gc F 6,1b@$@@1K T @A8 6kFk@0@ح!b,Km,m, a 'J,  6,A2@,`00bc F 06,1b@$@@1K T @A8 6kFk@0@ح!b,Km,m, a 'J,  3,A2@,`00=c F 3,1b@$@B1K T @A8 6kFk@0@ح!b,Km,m, a 'J,  p3,A2@,`008c F 3,1b@@$@B1K T @A8 6kFk@0@ح!b,Km,m, a (J,   3,A2@,`003c F @3,1b@$@N` 8 1K TH@ 6kFk@0@ح!b,Km,m, a (J,  2,A2@,`00.c F 2,1b@$@N` 8 1K TH@ 6kFk@0@ح!b,Km,m, a  ,p 6kFk@0@a  *p 6kFk@0@a  0p 6kFk@0@a A##Fk0Tb0 !IVk@a A!#Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a AA.CA8Fk0Tb0 !Ifk@a AA.CA8Fk0Tb0 !Ifk@a AA.CA8Fk0Tb0 !Ifk@a AA`.CA8Fk0Tb0 !Ifk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A}"Fk0Tb0 !IVk@a A{"Fk0Tb0 !IVk@a Ay"Fk0Tb0 !IVk@a Aw"Fk0Tb0 !IVk@a Au"Fk0Tb0 !IVk@a As"Fk0Tb0 !IVk@a Aq"Fk0Tb0 !IVk@a Ao"Fk0Tb0 !IVk@a Am"Fk0Tb0 !IVk@a Ak"Fk0Tb0 !IVk@a Ai"Fk0Tb0 !IVk@a Ag"Fk0Tb0 !IVk@a Ae"Fk0Tb0 !IVk@a Ac"Fk0Tb0 !IVk@a Aa"Fk0Tb0 !IVk@a A?"Fk0Tb0 !IVk@a A="Fk0Tb0 !IVk@a <2A@Vk0Tb0 !IFkpa, a :2A@Vk0Tb0 !IFkpa, a 82A@Vk0Tb0 !IFkpa, a 62A@Vk0Tb0 !IFkpa, a 42A@Vk0Tb0 !IFkpa, a 22A@Vk0Tb0 !IFkpa, a A/"Fk0Tb0 !IVk@a A-"Fk0Tb0 !IVk@a A+"Fk0Tb0 !IVk@a A)"Fk0Tb0 !IVk@a A'"Fk0Tb0 !IVk@a A%"Fk0Tb0 !IVk@a A#"Fk0Tb0 !IVk@a A!"Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a dĀ26k@<1X!a dĀ26k@<1X!a dĀ# . 6k@<1X!a dĀ# . 6k@<1X!a \ 26k0#Ca A,& ! 1@59ф fkPX0VkpHP aCD6k@0a A,& ! 1@59ф fkPX0VkpHP aCD6k@0a A,!LP"M fkPX0Fk0T@d@,`H a A,!LP"M fkPX0Fk0T@d@,`H a A,& ! 1@59ф fkPX0Fk0T@d@,`H a A,& ! 1@59ф fkPX0Fk0T@d@,`H a A,ʧ 6! 1@ 5"Aф fkPX0Fk0T@dH & )a A,ʧ 6! 1@ 5"Aф fkPX0Fk0T@dH & )a A,& ! 1 RCqDM+  fkPX0VkpHP aCD6k@0دA!R!a A,!1@4%0ф1  fkPX0Fk0T@d@,`H,,a A,& ! 1 RCDM+  fkPX0Fk0T@d@,`H,,a A,ʧ 6! 1 ྒTc)DM+  fkPX0Fk0T@dH, & )k@a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h G"`4!iBPAv4;blL 0bP4fkPX0VkpHP aCD6k@0a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h G"`4!iBPAv4;blL 0bP4fkPX0VkpHP aCD6k@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7bk@ 0bP4fkPX0Fk0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7bk@ 0bP4fkPX0Fk0T@d@,`H a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h "`4!iBPAv4;blL 0bP4fkPX0Fk0T@d@,`H a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h "`4!iBPAv4;blL 0bP4fkPX0Fk0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG p'!`4!qBPv8;blP" 0bP4fkPX0Fk0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG p'!`4!qBPv8;blP" 0bP4fkPX0Fk0T@dH & )a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG h G"`4!iBPAv4;blL 0bP4fkPX0VkpHP aCD6k@0a 4A,\]@;؃}@l l Ty./   `>6y`r#DhB&G*n`A F%\7bk@ 0bP4@fkPX0Fk0T@d@,`H a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG h "`4!iBPAv4;blL 0bP4fkPX0Fk0T@d@,`H a 7A,ʧ \]@;؃}@l l Ty./   `>6y`r#DhB&!I*dG p'!`4!qBPv8;blP" 0bP4fkPX0Fk0T@dH & )a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h G"`4!iBPAv4;blL 0bP4fkPX0VkpHP aCD6k@0a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h G"`4!iBPAv4;blL 0bP4fkPX0VkpHP aCD6k@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7bk@ 0bP4fkPX0Fk0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7bk@ 0bP4fkPX0Fk0T@d@,`H a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h "`4!iBPAv4;blL 0bP4fkPX0Fk0T@d@,`H a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h "`4!iBPAv4;blL 0bP4fkPX0Fk0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG p'!`4!qBPv8;blP" 0bP4fkPX0Fk0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG p'!`4!qBPv8;blP" 0bP4fkPX0Fk0T@dH & )a A,q04v 78vxqvpw7;0 8`02^؁ #DB@6k06y`v3a0& 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, H\w;;8;;<A.4} l} l3d0' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,y.6Ā ΁A A``؀  v t`>@6`3g0x#DhB&`D! `#p 6k0A?A/A}l}l3j1 x Œ71b@4&h& h1 F$ F F FB26k06`3m1x#DhB&`D!` $p 6k0A?A/A} l} l3pY1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3sY1x#DhB&`D!`%p 6k06y`v3v0!* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, h\w;;8;;A=A.4} l} l3y0Q* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,z.6Ā ΁A Aܠ`؀  v t`>@6`3|0x#DhB&`D! `#p 6k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB26k06`31x#DhB&`D!` $p 6k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3Y1x#DhB&`D!`%p 6k006`31x#DhB&`D!` $p 6k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0 6`3Y1x#DhB&`D!`%p 6k06y`v3a0& 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, H\w;;8;8<A.4} l} l3d0' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,y.6Ā ΁A` A``؀  v t`>@6`3g0x#DhB&`D! `#p 6k0A?A/A}l}l3j1 x Œ71b@4&h& h1 F$ F F FB26k06`3m1x#DhB&`D!` $p 6k0A?A/A} l} l3pY1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3sY1x#DhB&`D!`%p 6k06y`v3v0!* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, h\w;;8;8A=A.4} l} l3y0Q* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,z.6Ā ΁A` Aܠ`؀  v t`>@6`3|0x#DhB&`D! `#p 6k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB26k06`31x#DhB&`D!` $p 6k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3Y1x#DhB&`D!`%p 6k006`31x#DhB&`D!` $p 6k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0 6`3Y1x#DhB&`D!`%p 6k06y`v3a0& 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, H\w;;8;8<A.4} l} l3d0' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,y.6Ā ΁A` A``؀  v t`>@6`3g0x#DhB&`D! `#p 6k0A?A/A}l}l3j1 x Œ71b@4&h& h1 F$ F F FB26k06`3m1x#DhB&`D!` $p 6k0A?A/A} l} l3pY1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3sY1x#DhB&`D!`%p 6k06y`v3v0!* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, h\w;;8;8A=A.4} l} l3y0Q* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,z.6Ā ΁A` Aܠ`؀  v t`>@6`3|0x#DhB&`D! `#p 6k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB26k06`31x#DhB&`D!` $p 6k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3Y1x#DhB&`D!`%p 6k006`31x#DhB&`D!` $p 6k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0 6`3Y1x#DhB&`D!`%p 6k06y`v3a0& 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, H\w;;8;8̃<A.4} l} l3d0' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,y.6Ā ΁A` A``؀  v t`>@6`3g0x#DhB&`D! `#p 6k0A?A/A}l}l3j1 x Œ71b@4&h& h1 F$ F F FB26k06`3m1x#DhB&`D!` $p 6k0A?A/A} l} l3pY1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3sY1x#DhB&`D!`%p 6k06y`v3v0!* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, h\w;;8;8̃A=A.4} l} l3y0Q* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,z.6Ā ΁A` Aܠ`؀  v t`>@6`3|0x#DhB&`D! `#p 6k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB26k06`31x#DhB&`D!` $p 6k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3Y1x#DhB&`D!`%p 6k006`31x#DhB&`D!` $p 6k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0 6`3Y1x#DhB&`D!`%p 6k04Ӎ "-QsC0s#"@@ F1#Ѓb,8`i(aj(Di(a)`]8F"J|"  !i(a)"  i(an40` 0@ & `B0`8F"J|" 0P 0@&& a@abF"J|pF"XA-Α&'j(‹i(aÉ& +VAƊ4i(a)pFŠebٸF"J|pFÊ+ cŊi(a)pFÊ+ cŊi(aÉ&+VXQ +VXA?Α&'pDXbE)Xb E"J|j(Ti(a)j(i(af@@K&BFeh9E"J|n4P@Q 4i(afdi(a)pD@)e9F"JiqF"J|jqF"xA@_&qFeF"J|jqFe 9F"Ji  (k)ɧ1n4 @j @@k&qG k)ɧ1pD @A) @řF"JbqF"ЙCu&X`0gN̙Cx&X`0gΜB3gF"Jbq GĜ9s攢Ϝ9s搟)_XƨQP)ɧ11j ( D i(a11l$ @PCС)ɧ11l$ @PD)_XƸрB0B5H"J|jqcqF  i(a11pD @A)$!@MH"J|jqcqG!s)*X i:G"J S8aDΑ&p`!n4`„0aDΑ&p`!pD`„ S)Da„ *T @@`*sP2^a0Ѭ" @@ *Ü9s(W@ʀ Es0g/F0g0V9sPB̙3G+9s̙C `ί_Ԭ s̡geiE+&LhZ0D@V9PBm#e@ y+n"0@+&L0 s &BWL0 ue +L]`"xe+&D {e4#Le+ԯп"88@ 4 P2,B$),bX @R0X @K &bt#E0p4Ҋ"H@} EDR" I%IFd$>TJRR%-%U)B LI&$E@tR"I=)H$ԤMPR,E(%*B"s~"`GMN<%ԧ}TTNUj@@XZ0B@y-CBl!@ Ė!!DFf &a+8XAj˰b;@} Ă^ADAP"CgH !8D DIJ>)#Pr@Q.dP$)V(+VXQ*sE F"I&.朤y"xIX(.$m#̙SO!̙3n#`TU7,wx|:hwt t68xvHq2$""Uf9s6l(@0di`E@!KC , Y<  Y,g@C5@!0% `B0d  Y,@CQ@!)%` 0dy Yh,C]!K/`20d1 Y,Cy!=%`0d YJ,(C!K%&`B0d  Y|,aC!Y,`b0d1  Y,hC! Z-`Ȃ0dA  Y,lC!ZE-`0da  Y,fC!Y,`0dQ  Y,jC!ZE-`Ȣ@0dQ  Y,lC! [E.`@0da  Y,jC! ].`B0d  Y,tC! ].`Ȣ0dQ  Y,tC!ZE-`B0d  Y,vC!]-`@0d  Y,nC![-`0dq  Y,|C!_/`0dq  Y,zC!Kh%4`0dq  YH,|C![-`0dq  Y,nC![-`0dq  Y,zC![-`0dq  Y,jC! _/`b0d1  Y,nC![-`0dq  Y,nC![-`Ȣ0d  Y,nC![-`0dq  Y,zC!^E/`Ȣ0d  YP,nC!jE5`Ȣ0dQ  Y,nC!jE5`Ȣ0dQ  Y,zC! k5`Ȣ0d  Y,nC![-`0dq  Y,nC!k5`0dq  Y,nC! l6`0dq  Y,C![-`0dq  Y,nC![-`0dq  Y,C!m,`b@0d1  Y,fC! Z-`Ȃ0dA  Y,hC!^6`B@0d  Y,fC!Y-`b@0dA  Y,hC! Z-`Ȃ0dA  Yh,C!l7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yp,C! n7`Ȃ@0d  Yx,C! o7`@0d  Y,C`!Kye<X`R@0d9 Y,C!z6`B@0d  Y,C! m6`Ȳ0d  Yh,C! ].`B@0d  Y,tC! ]=`@0d  Y,C!K|%>`@0d Y,C!|>`R@0d  Y,C!nE7`0d  Y~,C!o7`0d  Y~,C!o7`0d  Y~,C! n7`Ȃ0d  Yp,C!o7`0d  Yt,C! ?`0d  Yp,C! n7`Ȃ0d  Yp,C!o7`0d  Yt,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Y~,C! n7`Ȃ0d  Yp,C! o7`0d  Yx,C!Kx%<`0d   Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Yp,C!o7`0d  Y,C!x<`2,0d)  YD, C! ED``"0d  YH,&C! Eh`b"0d1  YV,fC!YE`"0d  Y^,/C!ˋE`"0d Yf,3C!KF`R#0d Yj,5C!ˍF`r#0d Yj,5C!KF`R#0d Yv,;C! %G`2&0d1 Y,oC9!KeGx`#<0d Y,{C?!KT`r*0dQ Y\,CZ!˭%G`Ȓ#0d Y|,`C!˘L`Ȓ&0da Y,uC!L`Ȓ#0d Y,CR!˩EU`*0dq Yh,C!KeGp`Ȳ#80d Yr,cC3!KM`&0d Yv,>C0!KO`Ȳ'0d YH,CU! U`+0d Yr,9C!ˎGp`&0d Y,iC6!˛EN`R'0d Y,9C<!˞O`*0d! YT,CW!KV`r+0d! YH,$C!Y,`Ȓ+0d  Yr,C]!K%>`+0d   Y,@Cq!˸e\`r.0dI Y,Cv !K@ 2(L &GCP QEP#%@FhyC6bl@-(a1"m68]͆j&w6b.fC PEl1  1XasX!+p"k6ĸ]@͆"j61pP!9 1 El!h.fC|Pw5b%]@͆+"j6Ġ9pP!MЁ 1|ElAx.fC Xw7b;.]͆t!"n6Ġ{pp!] 1ElA.fC1)w6b O#Mz]͆lS"k6xrX! 1$El'f.fC=9+w6b Z#T]`͆V"k68rP! 1bElA+p.fC[+w5bI^L]͆iW"l6`rX!ƛ 1įElQ'.fC uQ,D5B uT2@J] 0h 46NsT:de0Ma? p1U(O0@a? p1%/!F 1P,0;/aD0= M0IHOi 8b?KGc55B$IPO-69 "h#(V* M!8҃&* Mϵ 0 ,/a0)b?Ea7?6(?8T0 .?M-AԲh IX5 /Nc,Ncԗ < )L%IEa?HU$/QӅ18SaSˢM%8bD X\/S/a` b#0;/aD0F.sLZ3Ib?f* Ͳت74 c?909 "#(u469 "NK4}<2)#dh/8L ,`S0`,z@!TduQ,D5B |3H,* X#uL&pJavO`stO=5B$u,q=Ep@S4 (3/!HRL%IbTL6LXnϺ$KAP5 SH3I$.?MhdUL6LDx/N 6^ )SD]9_,0H3Qf? FJfYs``? FJvK`s &M",2)Yh/e,2)i/P,05/aD0VYs`$c? FJ.v>s w /aD0if/\R1~SU/KX#mA,3#<?4h/i,2)y=09 ""iD/a0 4,2)Yl/PBs@`H3&K@?,05,/uLhK4L$&;M0j!8RaSˢM%[ )#do/`$4n?0`W$63>QQDa? 5M-Nc,Nc-sLb#IbŲd0 /aD0[P )/Nc,NcX`stO=5B$Y < 4)4I$? -\\0;/aD0u*69 "hK4qpR1~SUp>r۶3.ATDu KM$٣6 !,@\ 8TK0?MZ3&McFS0Q0C5Ca?_4R =`s 6 8b}@3BH3 3NDPXv/.N4&>0?M%8b?0`"M$:PBԲQc?ŀ0Ea,M- 6Mps BDIf,M-Q] )KM0KKS,F/sM w Ga6:PBԲQf? FJDLOi w ,'ϵL&M&Ib?:09 "HK4L VKPs J `HH 4R1~SU_4A XSхD2@JLq@2) v^ )SH3i`s?L KX#$aX\p@Ia?0B$&i`s?L KX#$AX\p@Ib?3$?`5Bؤϵ 0 4/a0v1s]3BD.Id?:09 "HK4L$KPs J$8րՅYX\p@ f#0`",إϵ 0 4/a\6,C5CavaCi-KMU1>LKX#Ѕ5H2FJm? p] |3uasM3Bb?\EaȲD 9H2FJn ?4(/@t`SˢM&&Mc%?4(Ŀ8q/bCRs8R |3]&,YcXEa3?8(Ŀ88_ucXb8FP7A5@D )YYh8 !Ma? Ea?KGc55B2$03Ԣr]6Pȅj@TԲ؃C G 8 bSb,5,?M0Բ؃C G51KDEDAsm3Bt8фO4Բ؃C G`\pɐ"FPvY;C-:~ f?:09 "hK4La` 8 Ib?5(/N4ݒ$ 69 "#(Ss3Bu]h0 H),m?5(O q* u٫74f?4Ea?0 P"8&!Fc? FJt8d[j/;%N4h`sA5 HRL$` C}  3&s]3B4FXLv8G |3H]* Lv8GD\ ?8a3=O!dLD 0Է@ P`:aFL? H3Lv8G)/!F Sa?0il$u8?8T`$KƦMLL,0FI?ϵQ,X/a b,,Ԙ#`D,?BHKS;,7U35EpR1~SUp@>r9PBGD2FJD< uYnA/`d.@dC a/eIP?,0`/aD0s4],0!-P:T3@c8Va9? X9C-$&sm3Bt8TOF)$ˏԅ< ))AԲh Iبϵ 0 ,/a)b*?5(_,0Ea#0`"/aD0I ?M( D4SaS0`"/aD0&Osm? LHE0TsPˁ$(3r Ib#ˢM&`R1~SUH/,f)pQ4Ua?0 C: s.8҃/p 4X`/69 "N#(&p,C5CaܲTT3$>`5=|QQ69 "xp&Mc?#8de? z8dhϷ4H2@Jn? ?L6X@0 4.uLhK4Lz]6Hps \Ib0Qc?;09 "xp&MbU(8S`0e?#44SJV;sL0Ea0Qfb?0`Wz]X0s]t/a\b?@\O0uLhK4La\0 ),m?!T"ϵL&p&M&HOi &Mc?0`Wa6s_,0H3-P:T3@:5=4vad 3.8Q A4&#(ϵQ,X/a$ b,M!G%#R4LOi I\9"5@S]9"5@Cs@!TC aSH3eS0;,,/HALCDD2RJLe@?8T64eVh H)SH3v,@ p=09 "hÐ& F X{/>8T\R1~SUoKX#ϵL&&MbT\0F8b@\#-$$s}L? Lm`\pI">ps w ,Ea?909 "p#(i$sM3BLub?909 "t#(iϵ SD=MF:s,PB\-P:T3@X~/ $4m? 8L KHs)3/8&!F3s\\/_NKX#$XF=(ď4SvVJ`s 8"}$G y@So@A\]^9"!M1X_9"!MAX^9"!MQv/$4mK?74H8w/$4n?Tt /B$V38FPX@Ϲ4RX+uLZ3J$N-KMU1~DBD5/4\\/_NKX#$7 Nd?`b4`?KGc55B$]4 ΃I=H\ p`?:09 "TK4L ;3Lh^02RJ?L? SD5Ba? YH_h 6 8b?H3QQ/ a?:09 "xpJ vsm#_,0!6-?M%^ H){/ $c? 02RJ&_ H))|/ d? %_ 2iHh 8b? 02RJb`DD\ PBԃ%_ 2i31D\ ?%@d`\pɒ">ps KIIb? 8O-69 "h`<Ma?:09 "xpJ$f`# 8 fb?44],0%-P:T3@u LxQ!H +P, \f/sLƦb?DTHS< ?M05L\/KX#$ *ˢMZ3L2FJt8dq/`NIMa DTHSFX@HFԲh 48b&?5(O-Nc Xk80Ma?KGKX#$Wm@98FP@ˢMZ3C ҿ88a?8SQ69 "xp&Mc? pmERa? pnD - 0h 6 ?@M%I=5Q,? h`sA5 HRL$P\ ?88QcN-KMU1>"I /@D ?"!MQXA,/HALCD3Xr@90QX1uLJ ?"!M.69 "/aD0`,L=)3bb0?9(O-Nc,Ncf !Q$ϵLb#&M&5X\0;,Ib@3Ԣb?@!DKX#$.sLb? ;%N4V^0 )SDn?L]\\0/aD0iX69 "eSˢM&py DTWa#0F+00e?0;Q$"s]3B]M|/QY L`DMADTvHps \Ie#0;,duQ,D5B E 4h w HOi 8b40ua?׻5tD0HPXu=8T64P5C5 DOi m`\0i/aD0) Hps \If?3EZm@1Qu \*P, 46] ) t/`? 02@J] )yXu/$b?PBԲ -P:T3@k/5M-Nc,Nc] )X@69 "xpXt/$c? :%@69 "hK4H2RJpmESa? Q02@JJf] )yYl4 TXx/$f? x\Բ؃C շ@ P`:a?KX#$IDT 0Oi BD-?Mb#XuL&J v3.RC-bEWa?909 "p#()a&`?,0]K4D2RJDD2RJD9H\ ?%@ta?8Qa? P5C5 9 < K)5 SH3Ib?909 "N#(uY-`D,?BVst?Lv8GeX\0 ,`E1 La?909 "#()XH35Ys`.N4?Lv8GyD2)KMy94],0Qf?0RA$Xpst9/a b?׷-@HH]X4uLJa@-K H?4@Ȳh 4Iz/dMS< BDu54=8TH}  3&J@?,0i,Xw@zD0E;5@ bo?T 21#R4D3H QX"uL&pJ$*`P XR1~SUQ/a`S0/aD0 `4Ga? :%@d[q/`N ᖶ.!F `k?b42?4H8dg?b42+5AԲh BDIX?5Q,?I @S*ϵLZ3&M^ydR1~SUH |3HS + MQغ69 "Nd?DT MUX7\ b? p%-@\ p fP,D 8O-69 "HcH8" c6Kps If/69 ",uM!d,DR5C5 4O-69 "1L\/KX#$ ϵL0&M"Dh \\/_NKX#$ !_ 2v/?,0i$SӅL\ ?83 Ø7\b? p-=\\0 /aD0iu S7asML64SQ5C5 H2FJDm? t8ф@2 p69 "H#([s`^,0a LĻp71 @B FkL6k\a Lp71 @B FkL6k\a LDp&710 `D@ "p VkL6k\Fk`a Lp&710 `D@ "p VkL6k\Fk`a LDp720 $`DPxà0AD fkL6k\Fk`Vkda Lp720 $`DPxà0AD fkL6k\Fk`Vkda A, 3d0(`Dp x(  F7M1@ kLfkX6k\Fk`Vkda A, 3y0(`Dp x(  F7M1@ kLfkX6k\Fk`Vkda Lļp&71 @ FkL6k\a Lp&71 @ FkL6k\a Lęp6710 `D@ #p VkL6k\Fk`a Lp6710 `D@ #p VkL6k\Fk`a LDp&720 $`DPxà0A!D fkL6k\Fk`Vkda Lp&720 $`DPxà0A!D fkL6k\Fk`Vkda A, 3j1(`Dpx(!  F7M1@ kLfkX6k\Fk`Vkda A, 31(`Dpx(!  F7M1@ kLfkX6k\Fk`Vkda LĽp671 @ FkL6k\a Lp671 @ FkL6k\a LDpF710 `D@ $p VkL6k\Fk`a LpF710 `D@ $p VkL6k\Fk`a LDp6720 $`DP xà0A1D fkL6k\Fk`Vkda Lp6720 $`DP xà0A1D fkL6k\Fk`Vkda A, 3pY1(`Dpx(1  F7M1@E kLfkX6k\Fk`Vkda A, 3Y1(`Dpx(1  F7M1@E kLfkX6k\Fk`Vkda LľpF71 @ FkL6k\a LpF71 @ FkL6k\a LDpV710 `D@ %p VkL6k\Fk`a LpV710 `D@ %p VkL6k\Fk`a LĿpF720 $`DPxà0AAD fkL6k\Fk`Vkda LpF720 $`DPxà0AAD fkL6k\Fk`Vkda A, 3!Y1(`Dpx(A  FG7M1@E kLfkX6k\Fk`Vkda A, 3"Y1(`Dpx(A  FG7M1@E kLfkX6k\Fk`Vkda Lp671 @ FkL6k\a LīpF710 `D@ $p VkL6k\Fk`a Lp6720 $`DP xà0A1D fkL6k\Fk`Vkda A, 3Y1(`Dpx(1  F7M1@E kLfkX6k\Fk`Vkda LDpF71 @ FkL6k\a LpF71 @ FkL6k\a LĜpV710 `D@ %p VkL6k\Fk`a LpV710 `D@ %p VkL6k\Fk`a LpF720 $`DPxà0AAD fkL6k\Fk`Vkda LpF720 $`DPxà0AAD fkL6k\Fk`Vkda A, 3)Y1(`Dpx(A  FG7M1@E kLfkX6k\Fk`Vkda A, 3*Y1(`Dpx(A  FG7M1@E kLfkX6k\Fk`Vkda LpF71 @ FkL6k\a LDpV710 `D@ %p VkL6k\Fk`a LpF720 $`DPxà0AAD fkL6k\Fk`Vkda A, 3-Y1(`Dpx(A  FG7M1@E kLfkX6k\Fk`Vkda A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a A%6kFkVk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a A%6kFkVk@a A%6kFkVk@a 'J,  0^,A2@,`00e F P^,1b@@y%@@1K T @A8 6kFk@0@ح!b,Km,m, a 'J,  [,A2@,`00e F ^,1b@x%@@1K T @A8 6kFk@0@ح!b,Km,m, a (J,  [,A2@,`00e F [,1b@n%@<`  1K TH@ 6kFk@0@ح!b,Km,m, a (J,  @[,A2@,`00e F `[,1b@m%@<`  1K TH@ 6kFk@0@ح!b,Km,m, a d6k\Fk@a d6k\Fk@a d6k\Fk@a d6k\Fk@a d6k\Fk@a d6k\Fk@a d6k\Fk@a ~d6k\Fk@a |d6k\Fk@a zd6k\Fk@a xd6k\Fk@a vd6k\Fk@a td6kFk@a td6k ,a qd6k ,a od6k ,a qd6k ,a ld6k ,a jd6k ,a hd6k ,a Ag%6kFkVk@a Ae%6kFkVk@a Ac%6kFkVk@a `d6k ,a >d6k ,a A=%6kFkVk@a A;%6kFkVk@a 8d6k ,a A7%6kFkVk@a A5%6kFkVk@a 2d6k ,a 0d6k ,a .d6k ,a ,d6k ,a *d6k ,a (d6k ,a &d6k ,a A%%6kFkVk@a "d6k ,a  d6k ,a d6kFk@a d6kFk@a A$6kFkVk@a A$6kFkVk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a A$6kFkVk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a A$6kFkVk@a A$6kFkVk@a A$6kFkVk@a 4A@6kFkVk0@c, a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a d6kFk@a A$6kFkVk@a 4A@6kFkVkfk@a A$6kFkVk@a A$6kFkVk@a |d6kFk@a zd6kFk@a xd6kFk@a vd6kFk@a td6kFk@a t46kFk@HY!d6kFk@a <d6kFk@a :d6kFk@a 8d6kFk@a 6d6kFk@a pĠ 6kFkfk@a  pĠ 6kFkfk@a A2$6kFkVk@a A2$6kFkVk@a A2$6kFkVk@a D,` n#Đ\@f d0f !p 6kFkk@A!RۮS,> a D,` n#Ԑ\ f `0f !p 6kFkk@A!RۮS,> a D,` n#Ԑ\ f `0f !p 6kFkk@A!RۮS,> a D,` n#Ԑ\ f `0f !p 6kFkk@A!RۮS,> a A-$6kFkVk@a A+$6kFkVk@a A+$6kFkVk@a A+$6kFkVk@a A$6kFkVk@a A"$6kFkVk@a  pĠ 6kFkfk@a pĠ 6kFkfk@a A#6kFkVk@a A#6kFkVk@a A#6kFkVk@a D,` n#\@f 0f !p 6kFkk@A!RۮS,> a D,` n#\ f 0f !p 6kFkk@A!RۮS,> a D,` n#\ f 0f !p 6kFkk@A!RۮS,> a D,` n#\ f 0f !p 6kFkk@A!RۮS,> a A#6kFkVk@a A#6kFkVk@a A#6kFkVk@a A#6kFkVk@a A$6kFkVk@a A#6kFkVk@a  pĠ 6kFkfk@a pĠ 6kFkfk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a AA>CA8Fk0Tb0 !Ifk@a AA>CA8Fk0Tb0 !Ifk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a 3A@Vk0Tb0 !IFkpa, a 3A@Vk0Tb0 !IFkpa, a A#Fk0Tb0 !IVk@a A#Fk0Tb0 !IVk@a 3A@Vk0Tb0 !IFkpa, a dĀ # . 6k@N3X!a dĀ # . 6k@N3X!a +J,  7FA$ D 7a F 7J#͢$@N` 8 1K TH@ 6kFkVkfk@0@خA!RA!r[A!b[!a )J,  `71K 7 2 D0bP,2``0PAx LjAx$@N` 8 1K TH@ 6kFkVk@0@!b,Km,m, a )J,  71K 7 2 D0bP,2``0PAs LjAs$@N` 8 1K TH@ 6kFkVk@0@!b,Km,m, a )J,  61K 7 2 D0bP@,2``0PAn LjAn$@N` 8 1K TH@ 6kFkVk@0@!b,Km,m, a 'J,  `6,A2@,`00gc F 6,1b@$@@1K T @A8 6kFk@0@ح!b,Km,m, a 'J,  6,A2@,`00bc F 06,1b@$@@1K T @A8 6kFk@0@ح!b,Km,m, a 'J,  3,A2@,`00=c F 3,1b@$@B1K T @A8 6kFk@0@ح!b,Km,m, a 'J,  p3,A2@,`008c F 3,1b@@$@B1K T @A8 6kFk@0@ح!b,Km,m, a (J,   3,A2@,`003c F @3,1b@$@N` 8 1K TH@ 6kFk@0@ح!b,Km,m, a (J,  2,A2@,`00.c F 2,1b@$@N` 8 1K TH@ 6kFk@0@ح!b,Km,m, a  ,p 6kFk@0@a  *p 6kFk@0@a  0p 6kFk@0@a A##Fk0Tb0 !IVk@a A!#Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a AA.CA8Fk0Tb0 !Ifk@a AA.CA8Fk0Tb0 !Ifk@a AA.CA8Fk0Tb0 !Ifk@a AA`.CA8Fk0Tb0 !Ifk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A"Fk0Tb0 !IVk@a A}"Fk0Tb0 !IVk@a A{"Fk0Tb0 !IVk@a Ay"Fk0Tb0 !IVk@a Aw"Fk0Tb0 !IVk@a Au"Fk0Tb0 !IVk@a As"Fk0Tb0 !IVk@a Aq"Fk0Tb0 !IVk@a Ao"Fk0Tb0 !IVk@a Am"Fk0Tb0 !IVk@a Ak"Fk0Tb0 !IVk@a Ai"Fk0Tb0 !IVk@a Ag"Fk0Tb0 !IVk@a Ae"Fk0Tb0 !IVk@a Ac"Fk0Tb0 !IVk@a Aa"Fk0Tb0 !IVk@a A?"Fk0Tb0 !IVk@a A="Fk0Tb0 !IVk@a <2A@Vk0Tb0 !IFkpa, a :2A@Vk0Tb0 !IFkpa, a 82A@Vk0Tb0 !IFkpa, a 62A@Vk0Tb0 !IFkpa, a 42A@Vk0Tb0 !IFkpa, a 22A@Vk0Tb0 !IFkpa, a A/"Fk0Tb0 !IVk@a A-"Fk0Tb0 !IVk@a A+"Fk0Tb0 !IVk@a A)"Fk0Tb0 !IVk@a A'"Fk0Tb0 !IVk@a A%"Fk0Tb0 !IVk@a A#"Fk0Tb0 !IVk@a A!"Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a A!Fk0Tb0 !IVk@a dĀ26k@<1X!a dĀ26k@<1X!a dĀ# . 6k@<1X!a dĀ# . 6k@<1X!a \ 26k0#Ca A,& ! 1@59ф fkPX0VkpHP aCD6k@0a A,& ! 1@59ф fkPX0VkpHP aCD6k@0a A,!LP"M fkPX0Fk0T@d@,`H a A,!LP"M fkPX0Fk0T@d@,`H a A,& ! 1@59ф fkPX0Fk0T@d@,`H a A,& ! 1@59ф fkPX0Fk0T@d@,`H a A,ʧ 6! 1@ 5"Aф fkPX0Fk0T@dH & )a A,ʧ 6! 1@ 5"Aф fkPX0Fk0T@dH & )a A,& ! 1 RCqDM+  fkPX0VkpHP aCD6k@0دA!R!a A,!1@4%0ф1  fkPX0Fk0T@d@,`H,,a A,& ! 1 RCDM+  fkPX0Fk0T@d@,`H,,a A,ʧ 6! 1 ྒTc)DM+  fkPX0Fk0T@dH, & )k@a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h G"`4!iBPAv4;blL 0bP4fkPX0VkpHP aCD6k@0a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h G"`4!iBPAv4;blL 0bP4fkPX0VkpHP aCD6k@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7bk@ 0bP4fkPX0Fk0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7bk@ 0bP4fkPX0Fk0T@d@,`H a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h "`4!iBPAv4;blL 0bP4fkPX0Fk0T@d@,`H a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h "`4!iBPAv4;blL 0bP4fkPX0Fk0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG p'!`4!qBPv8;blP" 0bP4fkPX0Fk0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG p'!`4!qBPv8;blP" 0bP4fkPX0Fk0T@dH & )a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG h G"`4!iBPAv4;blL 0bP4fkPX0VkpHP aCD6k@0a 4A,\]@;؃}@l l Ty./   `>6y`r#DhB&G*n`A F%\7bk@ 0bP4@fkPX0Fk0T@d@,`H a 6A,ʇT;=8>AA?@@`؀  @y`>6 #DhB&H*dG h "`4!iBPAv4;blL 0bP4fkPX0Fk0T@d@,`H a 7A,ʧ \]@;؃}@l l Ty./   `>6y`r#DhB&!I*dG p'!`4!qBPv8;blP" 0bP4fkPX0Fk0T@dH & )a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h G"`4!iBPAv4;blL 0bP4fkPX0VkpHP aCD6k@0a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h G"`4!iBPAv4;blL 0bP4fkPX0VkpHP aCD6k@0a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7bk@ 0bP4fkPX0Fk0T@d@,`H a 4A,(\^@;؃A} l@@ ` ؀ v`y`y#DhB&G*n`A F%\7bk@ 0bP4fkPX0Fk0T@d@,`H a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h "`4!iBPAv4;blL 0bP4fkPX0Fk0T@d@,`H a 6A,ʇ"T;=8>A?} l4y.   @a>`66#DhB&H*dG h "`4!iBPAv4;blL 0bP4fkPX0Fk0T@d@,`H a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG p'!`4!qBPv8;blP" 0bP4fkPX0Fk0T@dH & )a 7A,ʧ (\^@;؃A} l@@ ` ؀ v`y`y#DhB&!I*dG p'!`4!qBPv8;blP" 0bP4fkPX0Fk0T@dH & )a A,q04v 78vxqvpw7;0 8`02^؁ #DB@6k06y`v3a0& 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, H\w;;8;;<A.4} l} l3d0' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,y.6Ā ΁A A``؀  v t`>@6`3g0x#DhB&`D! `#p 6k0A?A/A}l}l3j1 x Œ71b@4&h& h1 F$ F F FB26k06`3m1x#DhB&`D!` $p 6k0A?A/A} l} l3pY1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3sY1x#DhB&`D!`%p 6k06y`v3v0!* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, h\w;;8;;A=A.4} l} l3y0Q* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,z.6Ā ΁A Aܠ`؀  v t`>@6`3|0x#DhB&`D! `#p 6k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB26k06`31x#DhB&`D!` $p 6k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3Y1x#DhB&`D!`%p 6k006`31x#DhB&`D!` $p 6k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0 6`3Y1x#DhB&`D!`%p 6k06y`v3a0& 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, H\w;;8;8<A.4} l} l3d0' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,y.6Ā ΁A` A``؀  v t`>@6`3g0x#DhB&`D! `#p 6k0A?A/A}l}l3j1 x Œ71b@4&h& h1 F$ F F FB26k06`3m1x#DhB&`D!` $p 6k0A?A/A} l} l3pY1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3sY1x#DhB&`D!`%p 6k06y`v3v0!* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, h\w;;8;8A=A.4} l} l3y0Q* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,z.6Ā ΁A` Aܠ`؀  v t`>@6`3|0x#DhB&`D! `#p 6k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB26k06`31x#DhB&`D!` $p 6k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3Y1x#DhB&`D!`%p 6k006`31x#DhB&`D!` $p 6k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0 6`3Y1x#DhB&`D!`%p 6k06y`v3a0& 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, H\w;;8;8<A.4} l} l3d0' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,y.6Ā ΁A` A``؀  v t`>@6`3g0x#DhB&`D! `#p 6k0A?A/A}l}l3j1 x Œ71b@4&h& h1 F$ F F FB26k06`3m1x#DhB&`D!` $p 6k0A?A/A} l} l3pY1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3sY1x#DhB&`D!`%p 6k06y`v3v0!* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, h\w;;8;8A=A.4} l} l3y0Q* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,z.6Ā ΁A` Aܠ`؀  v t`>@6`3|0x#DhB&`D! `#p 6k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB26k06`31x#DhB&`D!` $p 6k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3Y1x#DhB&`D!`%p 6k006`31x#DhB&`D!` $p 6k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0 6`3Y1x#DhB&`D!`%p 6k06y`v3a0& 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, H\w;;8;8̃<A.4} l} l3d0' A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,y.6Ā ΁A` A``؀  v t`>@6`3g0x#DhB&`D! `#p 6k0A?A/A}l}l3j1 x Œ71b@4&h& h1 F$ F F FB26k06`3m1x#DhB&`D!` $p 6k0A?A/A} l} l3pY1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3sY1x#DhB&`D!`%p 6k06y`v3v0!* 7 2b@4@a&h F F7MC7(40ޠD0P`D ="p fk0Lc3EVk0Da GA, h\w;;8;8̃A=A.4} l} l3y0Q* A7J20,x#DhB&h &`DB`2 `!` x"I xSU0 UQ0.0 R FB7HG7X70`y0ޠ7@ vk0Lc3Efk0Da %A,z.6Ā ΁A` Aܠ`؀  v t`>@6`3|0x#DhB&`D! `#p 6k0A?A/A}l}l31 x Œ71b@4&h& h1 F$ F F FB26k06`31x#DhB&`D!` $p 6k0A?A/A} l} l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0`6`3Y1x#DhB&`D!`%p 6k006`31x#DhB&`D!` $p 6k0A?A/A}`l}`l3Y1 x Œ71b@4&h& h1 F$D F F FR26k0 6`3Y1x#DhB&`D!`%p 6k0