stdgpu/compiler.h Source File — stdgpu Latest documentation (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#ifndef STDGPU_COMPILER_H
17#define STDGPU_COMPILER_H
18
28namespace stdgpu
29{
30
35#define STDGPU_HOST_COMPILER_UNKNOWN 10
40#define STDGPU_HOST_COMPILER_GCC 11
45#define STDGPU_HOST_COMPILER_CLANG 12
50#define STDGPU_HOST_COMPILER_MSVC 13
51
56#define STDGPU_DEVICE_COMPILER_UNKNOWN 20
61#define STDGPU_DEVICE_COMPILER_NVCC 21
66#define STDGPU_DEVICE_COMPILER_HIPCLANG 22
71#define STDGPU_DEVICE_COMPILER_CUDACLANG 23
72
78#if defined(__GNUC__) && !defined(__clang__)
79 #define STDGPU_HOST_COMPILER STDGPU_HOST_COMPILER_GCC
80#elif defined(__clang__)
81 #define STDGPU_HOST_COMPILER STDGPU_HOST_COMPILER_CLANG
82#elif defined(_MSC_VER)
83 #define STDGPU_HOST_COMPILER STDGPU_HOST_COMPILER_MSVC
84#else
85 #define STDGPU_HOST_COMPILER STDGPU_HOST_COMPILER_UNKNOWN
86#endif
87
93#if defined(__NVCC__)
94 #define STDGPU_DEVICE_COMPILER STDGPU_DEVICE_COMPILER_NVCC
95#elif defined(__HIP__)
96 #define STDGPU_DEVICE_COMPILER STDGPU_DEVICE_COMPILER_HIPCLANG
97#elif defined(__clang__) && defined(__CUDA__)
98 #define STDGPU_DEVICE_COMPILER STDGPU_DEVICE_COMPILER_CUDACLANG
99#else
100 #define STDGPU_DEVICE_COMPILER STDGPU_DEVICE_COMPILER_UNKNOWN
101#endif
102
103}
104
105#endif