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