ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
cuda_device_runtime_api.h
Go to the documentation of this file.
1#if !defined(__CUDA_DEVICE_RUNTIME_API_H__)
2# define __CUDA_DEVICE_RUNTIME_API_H__
3
4# if defined(__CUDABE__)
5
6# if (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__)
7struct cudaFuncAttributes;
8
9__device__ __attribute__((nv_weak)) cudaError_t cudaMalloc(void **p, size_t s)
10{
11 return cudaErrorUnknown;
12}
13
15cudaFuncGetAttributes(struct cudaFuncAttributes *p, const void *c)
16{
17 return cudaErrorUnknown;
18}
19
21cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device)
22{
23 return cudaErrorUnknown;
24}
25
27{
28 return cudaErrorUnknown;
29}
30
32cudaOccupancyMaxActiveBlocksPerMultiprocessor(
33 int *numBlocks,
34 const void *func,
35 int blockSize,
36 size_t dynamicSmemSize)
37{
38 return cudaErrorUnknown;
39}
40
41# endif /* (__CUDA_ARCH__ >= 350) && !defined(__CUDADEVRT_INTERNAL__) */
42
43# else /* defined(__CUDABE__) */
44
45# if defined(__cplusplus) && \
46 defined(__CUDACC__) // Visible to nvcc front-end only
47# if !defined(__CUDA_ARCH__) || \
48 (__CUDA_ARCH__ >= \
49 350) // Visible to SM>=3.5 and "__host__ __device__" only
50
51# include "driver_types.h"
52# include "host_defines.h"
53
54extern "C"
55{
57 cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device);
59 cudaDeviceGetLimit(size_t *pValue, enum cudaLimit limit);
61 cudaDeviceGetCacheConfig(enum cudaFuncCache *pCacheConfig);
63 cudaDeviceGetSharedMemConfig(enum cudaSharedMemConfig *pConfig);
66 /*extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI
67 * cudaGetLastError(void);*/
70
74 cudaGetDevice(int *device);
76 cudaStreamCreateWithFlags(cudaStream_t *pStream, unsigned int flags);
78 cudaStreamDestroy(cudaStream_t stream);
80 cudaStreamWaitEvent(
81 cudaStream_t stream,
82 cudaEvent_t event,
83 unsigned int flags);
85 cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags);
87 cudaEventRecord(cudaEvent_t event, cudaStream_t stream);
91 cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func);
93 cudaFree(void *devPtr);
95 cudaMalloc(void **devPtr, size_t size);
96 extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpyAsync(
97 void *dst,
98 const void *src,
99 size_t count,
100 enum cudaMemcpyKind kind,
101 cudaStream_t stream);
102 extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemcpy2DAsync(
103 void *dst,
104 size_t dpitch,
105 const void *src,
106 size_t spitch,
107 size_t width,
108 size_t height,
109 enum cudaMemcpyKind kind,
110 cudaStream_t stream);
112 cudaMemcpy3DAsync(const struct cudaMemcpy3DParms *p, cudaStream_t stream);
114 cudaMemsetAsync(void *devPtr, int value, size_t count, cudaStream_t stream);
115 extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset2DAsync(
116 void *devPtr,
117 size_t pitch,
118 int value,
119 size_t width,
120 size_t height,
121 cudaStream_t stream);
122 extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaMemset3DAsync(
123 struct cudaPitchedPtr pitchedDevPtr,
124 int value,
125 struct cudaExtent extent,
126 cudaStream_t stream);
128 cudaRuntimeGetVersion(int *runtimeVersion);
129
130 extern __device__ __cudart_builtin__ void *CUDARTAPI
131 cudaGetParameterBuffer(size_t alignment, size_t size);
132 extern __device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaLaunchDevice(
133 void *func,
134 void *parameterBuffer,
135 dim3 gridDimension,
136 dim3 blockDimension,
137 unsigned int sharedMemSize,
138 cudaStream_t stream);
139 extern __device__ __cudart_builtin__ void *CUDARTAPI cudaGetParameterBufferV2(
140 void *func,
141 dim3 gridDimension,
142 dim3 blockDimension,
143 unsigned int sharedMemSize);
145 cudaLaunchDeviceV2(void *parameterBuffer, cudaStream_t stream);
146
148 cudaOccupancyMaxActiveBlocksPerMultiprocessor(
149 int *numBlocks,
150 const void *func,
151 int blockSize,
152 size_t dynamicSmemSize);
153}
154namespace
155{
156template <typename T>
158cudaMalloc(T **devPtr, size_t size);
159template <typename T>
161cudaFuncGetAttributes(struct cudaFuncAttributes *attr, T *entry);
162template <typename T>
164cudaOccupancyMaxActiveBlocksPerMultiprocessor(
165 int *numBlocks,
166 T func,
167 int blockSize,
168 size_t dynamicSmemSize);
169} // namespace
170
171# endif // !defined(__CUDA_ARCH__) || (__CUDA_ARCH__ >= 350)
172# endif // defined(__cplusplus) && defined(__CUDACC__)
173
174# endif /* defined(__CUDABE__) */
175
176#endif /* !__CUDA_DEVICE_RUNTIME_API_H__ */
Definition toml.hpp:1531
int count
Definition cuda.h:51
enum cudaError cudaError_t
Definition cuda_error.h:412
cudaError_t cudaDeviceGetSharedMemConfig(int device)
Definition cuda_runtime_api.h:555
cudaError_t cudaDeviceGetLimit(int device)
Definition cuda_runtime_api.h:543
__host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaGetDevice(int *device)
cudaError_t cudaGetDeviceCount(int *count)
Definition cuda_runtime_api.h:414
__host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaRuntimeGetVersion(int *runtimeVersion)
__host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventCreateWithFlags(cudaEvent_t *event, unsigned int flags)
cudaError_t cudaFree(void *devPtr)
Definition cuda_runtime_api.h:80
__host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceSynchronize(void)
cudaError_t cudaMalloc(void **devPtr, size_t size)
Definition cuda_runtime_api.h:56
__host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaEventDestroy(cudaEvent_t event)
__host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func)
__device__ __cudart_builtin__ cudaError_t CUDARTAPI cudaDeviceGetAttribute(int *value, enum cudaDeviceAttr attr, int device)
Definition cuda_runtime_api.h:537
__host__ __cudart_builtin__ cudaError_t CUDARTAPI cudaPeekAtLastError(void)
cudaError_t cudaDeviceGetCacheConfig(int device)
Definition cuda_runtime_api.h:549
enum __device_builtin__ cudaDeviceAttr
Definition driver_types.h:127
enum __device_builtin__ cudaMemcpyKind
Definition driver_types.h:23
__device_builtin__ struct CUevent_st * cudaEvent_t
Definition driver_types.h:38
struct CUstream_st * cudaStream_t
Definition driver_types.h:36
#define T
Definition exp2f.c:24
#define __cudart_builtin__
Definition host_defines.h:123
#define __device__
Definition host_defines.h:113
#define __inline__
Definition linux.hpp:101
struct mapping_t_fast __attribute__
Definition pthread_lib.c:86
BigInt alignment(const typet &type, const namespacet &ns)
Definition type_byte_size.cpp:664
__device_builtin__ struct __dim3 dim3
Definition vector_types.h:395