Changeset View
Changeset View
Standalone View
Standalone View
clang/test/SemaCUDA/Inputs/cuda.h
Show All 11 Lines | |||||
#define __shared__ __attribute__((shared)) | #define __shared__ __attribute__((shared)) | ||||
#define __launch_bounds__(...) __attribute__((launch_bounds(__VA_ARGS__))) | #define __launch_bounds__(...) __attribute__((launch_bounds(__VA_ARGS__))) | ||||
struct dim3 { | struct dim3 { | ||||
unsigned x, y, z; | unsigned x, y, z; | ||||
__host__ __device__ dim3(unsigned x, unsigned y = 1, unsigned z = 1) : x(x), y(y), z(z) {} | __host__ __device__ dim3(unsigned x, unsigned y = 1, unsigned z = 1) : x(x), y(y), z(z) {} | ||||
}; | }; | ||||
#ifdef __HIP__ | |||||
typedef struct hipStream *hipStream_t; | |||||
typedef enum hipError {} hipError_t; | |||||
int hipConfigureCall(dim3 gridSize, dim3 blockSize, size_t sharedSize = 0, | |||||
hipStream_t stream = 0); | |||||
extern "C" hipError_t __hipPushCallConfiguration(dim3 gridSize, dim3 blockSize, | |||||
size_t sharedSize = 0, | |||||
hipStream_t stream = 0); | |||||
extern "C" hipError_t hipLaunchKernel(const void *func, dim3 gridDim, | |||||
dim3 blockDim, void **args, | |||||
size_t sharedMem, | |||||
hipStream_t stream); | |||||
#else | |||||
typedef struct cudaStream *cudaStream_t; | typedef struct cudaStream *cudaStream_t; | ||||
typedef enum cudaError {} cudaError_t; | typedef enum cudaError {} cudaError_t; | ||||
extern "C" int cudaConfigureCall(dim3 gridSize, dim3 blockSize, | extern "C" int cudaConfigureCall(dim3 gridSize, dim3 blockSize, | ||||
size_t sharedSize = 0, | size_t sharedSize = 0, | ||||
cudaStream_t stream = 0); | cudaStream_t stream = 0); | ||||
extern "C" int __cudaPushCallConfiguration(dim3 gridSize, dim3 blockSize, | extern "C" int __cudaPushCallConfiguration(dim3 gridSize, dim3 blockSize, | ||||
size_t sharedSize = 0, | size_t sharedSize = 0, | ||||
cudaStream_t stream = 0); | cudaStream_t stream = 0); | ||||
extern "C" cudaError_t cudaLaunchKernel(const void *func, dim3 gridDim, | extern "C" cudaError_t cudaLaunchKernel(const void *func, dim3 gridDim, | ||||
dim3 blockDim, void **args, | dim3 blockDim, void **args, | ||||
size_t sharedMem, cudaStream_t stream); | size_t sharedMem, cudaStream_t stream); | ||||
#endif | |||||
// Host- and device-side placement new overloads. | // Host- and device-side placement new overloads. | ||||
void *operator new(__SIZE_TYPE__, void *p) { return p; } | void *operator new(__SIZE_TYPE__, void *p) { return p; } | ||||
void *operator new[](__SIZE_TYPE__, void *p) { return p; } | void *operator new[](__SIZE_TYPE__, void *p) { return p; } | ||||
__device__ void *operator new(__SIZE_TYPE__, void *p) { return p; } | __device__ void *operator new(__SIZE_TYPE__, void *p) { return p; } | ||||
__device__ void *operator new[](__SIZE_TYPE__, void *p) { return p; } | __device__ void *operator new[](__SIZE_TYPE__, void *p) { return p; } | ||||
#endif // !__NVCC__ | #endif // !__NVCC__ |