@@ -46,9 +46,132 @@ typedef enum CUlimit_enum {
46
46
} CUlimit;
47
47
48
48
typedef enum CUdevice_attribute_enum {
49
+ CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1 ,
49
50
CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2 ,
51
+ CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3 ,
52
+ CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4 ,
50
53
CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5 ,
54
+ CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6 ,
55
+ CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7 ,
56
+ CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8 ,
57
+ CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8 ,
58
+ CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9 ,
51
59
CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10 ,
60
+ CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11 ,
61
+ CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12 ,
62
+ CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12 ,
63
+ CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13 ,
64
+ CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14 ,
65
+ CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15 ,
66
+ CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16 ,
67
+ CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17 ,
68
+ CU_DEVICE_ATTRIBUTE_INTEGRATED = 18 ,
69
+ CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19 ,
70
+ CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20 ,
71
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21 ,
72
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22 ,
73
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23 ,
74
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24 ,
75
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25 ,
76
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26 ,
77
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_WIDTH = 27 ,
78
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_HEIGHT = 28 ,
79
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LAYERED_LAYERS = 29 ,
80
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = 27 ,
81
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = 28 ,
82
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = 29 ,
83
+ CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30 ,
84
+ CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31 ,
85
+ CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32 ,
86
+ CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33 ,
87
+ CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34 ,
88
+ CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35 ,
89
+ CU_DEVICE_ATTRIBUTE_MEMORY_CLOCK_RATE = 36 ,
90
+ CU_DEVICE_ATTRIBUTE_GLOBAL_MEMORY_BUS_WIDTH = 37 ,
91
+ CU_DEVICE_ATTRIBUTE_L2_CACHE_SIZE = 38 ,
92
+ CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_MULTIPROCESSOR = 39 ,
93
+ CU_DEVICE_ATTRIBUTE_ASYNC_ENGINE_COUNT = 40 ,
94
+ CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41 ,
95
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_WIDTH = 42 ,
96
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LAYERED_LAYERS = 43 ,
97
+ CU_DEVICE_ATTRIBUTE_CAN_TEX2D_GATHER = 44 ,
98
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_WIDTH = 45 ,
99
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_GATHER_HEIGHT = 46 ,
100
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH_ALTERNATE = 47 ,
101
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT_ALTERNATE = 48 ,
102
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH_ALTERNATE = 49 ,
103
+ CU_DEVICE_ATTRIBUTE_PCI_DOMAIN_ID = 50 ,
104
+ CU_DEVICE_ATTRIBUTE_TEXTURE_PITCH_ALIGNMENT = 51 ,
105
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_WIDTH = 52 ,
106
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_WIDTH = 53 ,
107
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURECUBEMAP_LAYERED_LAYERS = 54 ,
108
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_WIDTH = 55 ,
109
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_WIDTH = 56 ,
110
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_HEIGHT = 57 ,
111
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_WIDTH = 58 ,
112
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_HEIGHT = 59 ,
113
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE3D_DEPTH = 60 ,
114
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_WIDTH = 61 ,
115
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE1D_LAYERED_LAYERS = 62 ,
116
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_WIDTH = 63 ,
117
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_HEIGHT = 64 ,
118
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACE2D_LAYERED_LAYERS = 65 ,
119
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_WIDTH = 66 ,
120
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_WIDTH = 67 ,
121
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_SURFACECUBEMAP_LAYERED_LAYERS = 68 ,
122
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_LINEAR_WIDTH = 69 ,
123
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_WIDTH = 70 ,
124
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_HEIGHT = 71 ,
125
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_LINEAR_PITCH = 72 ,
126
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_WIDTH = 73 ,
127
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_MIPMAPPED_HEIGHT = 74 ,
128
+ CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75 ,
129
+ CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR = 76 ,
130
+ CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_MIPMAPPED_WIDTH = 77 ,
131
+ CU_DEVICE_ATTRIBUTE_STREAM_PRIORITIES_SUPPORTED = 78 ,
132
+ CU_DEVICE_ATTRIBUTE_GLOBAL_L1_CACHE_SUPPORTED = 79 ,
133
+ CU_DEVICE_ATTRIBUTE_LOCAL_L1_CACHE_SUPPORTED = 80 ,
134
+ CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_MULTIPROCESSOR = 81 ,
135
+ CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR = 82 ,
136
+ CU_DEVICE_ATTRIBUTE_MANAGED_MEMORY = 83 ,
137
+ CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD = 84 ,
138
+ CU_DEVICE_ATTRIBUTE_MULTI_GPU_BOARD_GROUP_ID = 85 ,
139
+ CU_DEVICE_ATTRIBUTE_HOST_NATIVE_ATOMIC_SUPPORTED = 86 ,
140
+ CU_DEVICE_ATTRIBUTE_SINGLE_TO_DOUBLE_PRECISION_PERF_RATIO = 87 ,
141
+ CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS = 88 ,
142
+ CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS = 89 ,
143
+ CU_DEVICE_ATTRIBUTE_COMPUTE_PREEMPTION_SUPPORTED = 90 ,
144
+ CU_DEVICE_ATTRIBUTE_CAN_USE_HOST_POINTER_FOR_REGISTERED_MEM = 91 ,
145
+ CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_MEM_OPS = 92 ,
146
+ CU_DEVICE_ATTRIBUTE_CAN_USE_64_BIT_STREAM_MEM_OPS = 93 ,
147
+ CU_DEVICE_ATTRIBUTE_CAN_USE_STREAM_WAIT_VALUE_NOR = 94 ,
148
+ CU_DEVICE_ATTRIBUTE_COOPERATIVE_LAUNCH = 95 ,
149
+ CU_DEVICE_ATTRIBUTE_COOPERATIVE_MULTI_DEVICE_LAUNCH = 96 ,
150
+ CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN = 97 ,
151
+ CU_DEVICE_ATTRIBUTE_CAN_FLUSH_REMOTE_WRITES = 98 ,
152
+ CU_DEVICE_ATTRIBUTE_HOST_REGISTER_SUPPORTED = 99 ,
153
+ CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS_USES_HOST_PAGE_TABLES = 100 ,
154
+ CU_DEVICE_ATTRIBUTE_DIRECT_MANAGED_MEM_ACCESS_FROM_HOST = 101 ,
155
+ CU_DEVICE_ATTRIBUTE_VIRTUAL_ADDRESS_MANAGEMENT_SUPPORTED = 102 ,
156
+ CU_DEVICE_ATTRIBUTE_VIRTUAL_MEMORY_MANAGEMENT_SUPPORTED = 102 ,
157
+ CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR_SUPPORTED = 103 ,
158
+ CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_HANDLE_SUPPORTED = 104 ,
159
+ CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_WIN32_KMT_HANDLE_SUPPORTED = 105 ,
160
+ CU_DEVICE_ATTRIBUTE_MAX_BLOCKS_PER_MULTIPROCESSOR = 106 ,
161
+ CU_DEVICE_ATTRIBUTE_GENERIC_COMPRESSION_SUPPORTED = 107 ,
162
+ CU_DEVICE_ATTRIBUTE_MAX_PERSISTING_L2_CACHE_SIZE = 108 ,
163
+ CU_DEVICE_ATTRIBUTE_MAX_ACCESS_POLICY_WINDOW_SIZE = 109 ,
164
+ CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WITH_CUDA_VMM_SUPPORTED = 110 ,
165
+ CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK = 111 ,
166
+ CU_DEVICE_ATTRIBUTE_SPARSE_CUDA_ARRAY_SUPPORTED = 112 ,
167
+ CU_DEVICE_ATTRIBUTE_READ_ONLY_HOST_REGISTER_SUPPORTED = 113 ,
168
+ CU_DEVICE_ATTRIBUTE_TIMELINE_SEMAPHORE_INTEROP_SUPPORTED = 114 ,
169
+ CU_DEVICE_ATTRIBUTE_MEMORY_POOLS_SUPPORTED = 115 ,
170
+ CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_SUPPORTED = 116 ,
171
+ CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_FLUSH_WRITES_OPTIONS = 117 ,
172
+ CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING = 118 ,
173
+ CU_DEVICE_ATTRIBUTE_MEMPOOL_SUPPORTED_HANDLE_TYPES = 119 ,
174
+ CU_DEVICE_ATTRIBUTE_MAX,
52
175
} CUdevice_attribute;
53
176
54
177
typedef enum CUfunction_attribute_enum {
@@ -66,15 +189,21 @@ typedef enum CUmemAttach_flags_enum {
66
189
CU_MEM_ATTACH_SINGLE = 0x4 ,
67
190
} CUmemAttach_flags;
68
191
192
+ typedef enum CUcomputeMode_enum {
193
+ CU_COMPUTEMODE_DEFAULT = 0 ,
194
+ CU_COMPUTEMODE_PROHIBITED = 2 ,
195
+ CU_COMPUTEMODE_EXCLUSIVE_PROCESS = 3 ,
196
+ } CUcompute_mode;
197
+
69
198
CUresult cuCtxGetDevice (CUdevice *);
70
199
CUresult cuDeviceGet (CUdevice *, int );
71
200
CUresult cuDeviceGetAttribute (int *, CUdevice_attribute, CUdevice);
72
201
CUresult cuDeviceGetCount (int *);
73
202
CUresult cuFuncGetAttribute (int *, CUfunction_attribute, CUfunction);
74
203
75
204
// Device info
76
- CUresult cuDeviceGetName (char *, int , CUdevice * );
77
- CUresult cuDeviceTotalMem (size_t *, CUdevice * );
205
+ CUresult cuDeviceGetName (char *, int , CUdevice);
206
+ CUresult cuDeviceTotalMem (size_t *, CUdevice);
78
207
CUresult cuDriverGetVersion (int *);
79
208
80
209
CUresult cuGetErrorString (CUresult, const char **);
0 commit comments