Skip to content

Commit b07330a

Browse files
authored
add new runtime api (#7373)
1 parent a172906 commit b07330a

File tree

2 files changed

+126
-3
lines changed

2 files changed

+126
-3
lines changed

docs/dev_guides/custom_device_docs/custom_runtime_cn.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,18 @@ Device 接口
4343
+------------------------+--------------------------+------+
4444
| get_driver_version | 查询驱动版本号。 | Y |
4545
+------------------------+--------------------------+------+
46+
| get_multi_process | 获取设备上的MultiProcessor数量。 | N |
47+
+------------------------+--------------------------+------+
48+
| get_max_threads_per_mp | 获取设备每个MultiProcessor上的最大线程数。| N |
49+
+------------------------+--------------------------+------+
50+
| get_max_threads_per_block | 获取设备每个Block能够运行的最大线程数。 | N |
51+
+------------------------+--------------------------+------+
52+
| get_max_grid_dim_size | 获取设备最大网格维度大小。 | N |
53+
+------------------------+--------------------------+------+
54+
| init_eigen_device | 初始化Eigen GPU设备对象。 | N |
55+
+------------------------+--------------------------+------+
56+
| destroy_eigen_device | 销毁Eigen GPU设备对象。 | N |
57+
+------------------------+--------------------------+------+
4658

4759

4860
Memory 接口

docs/dev_guides/custom_device_docs/device_api_cn.md

Lines changed: 114 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ devices - 存储可用设备号。
141141
### 接口定义
142142
143143
```c++
144-
C_Status (*get_compute_capability)(size_t* compute_capability)
144+
C_Status (*get_compute_capability)(const C_Device device, size_t* compute_capability)
145145
```
146146

147147
### 接口说明
@@ -150,14 +150,15 @@ C_Status (*get_compute_capability)(size_t* compute_capability)
150150

151151
### 参数
152152

153+
device - 需要获取算力的设备。
153154
compute_capability - 存储设备算力。
154155

155156
## get_runtime_version 【required】
156157

157158
### 接口定义
158159

159160
```c++
160-
C_Status (*get_runtime_version)(size_t* version)
161+
C_Status (*get_runtime_version)(const C_Device device, size_t* version)
161162
```
162163
163164
### 接口说明
@@ -166,14 +167,15 @@ C_Status (*get_runtime_version)(size_t* version)
166167
167168
### 参数
168169
170+
device - 需要获取版本号的设备。
169171
version - 存储运行时版本号。
170172
171173
## get_driver_version 【required】
172174
173175
### 接口定义
174176
175177
```c++
176-
C_Status (*get_driver_version)(size_t* version)
178+
C_Status (*get_driver_version)(const C_Device device, size_t* version)
177179
```
178180

179181
### 接口说明
@@ -182,4 +184,113 @@ C_Status (*get_driver_version)(size_t* version)
182184

183185
### 参数
184186

187+
device - 需要获取版本号的设备。
185188
version - 存储驱动版本号。
189+
190+
## get_multi_process 【optional】
191+
192+
### 接口定义
193+
194+
```c++
195+
C_Status (*get_multi_process)(const C_Device device, size_t* multi_process);
196+
```
197+
198+
### 接口说明
199+
200+
获取设备上的MultiProcessor数量。
201+
202+
### 参数
203+
204+
device - 需要获取MultiProcessor数量的设备。
205+
multi_process - 存储MultiProcessor数量。
206+
207+
## get_max_threads_per_mp 【optional】
208+
209+
### 接口定义
210+
211+
```c++
212+
C_Status (*get_max_threads_per_mp)(const C_Device device, size_t* threads_per_mp);
213+
```
214+
215+
### 接口说明
216+
217+
获取设备每个MultiProcessor上的最大线程数。
218+
219+
### 参数
220+
221+
device - 需要获取每个MultiProcessor上的最大线程数的设备。
222+
threads_per_mp - 存储MultiProcessor上最大线程数。
223+
224+
## get_max_threads_per_block 【optional】
225+
226+
### 接口定义
227+
228+
```c++
229+
C_Status (*get_max_threads_per_block)(const C_Device device, size_t* threads_per_block);
230+
```
231+
232+
### 接口说明
233+
234+
获取设备每个Block能够运行的最大线程数。
235+
236+
### 参数
237+
238+
device - 需要获取每个Block能够运行的最大线程数的设备。
239+
threads_per_block - 存储Block上最大线程数。
240+
241+
## get_max_grid_dim_size 【optional】
242+
243+
### 接口定义
244+
245+
```c++
246+
C_Status (*get_max_grid_dim_size)(const C_Device device, std::array<unsigned int, 3>* grid_dim_size);
247+
```
248+
249+
### 接口说明
250+
251+
获取设备最大网格维度大小。
252+
253+
### 参数
254+
255+
device - 需要获取最大网格维度大小的设备。
256+
grid_dim_size - 存储网格维度大小。
257+
258+
## init_eigen_device 【optional】
259+
260+
### 接口定义
261+
262+
```c++
263+
C_Status (*init_eigen_device)(C_Place place,
264+
C_EigenDevice* eigen_device,
265+
C_Stream stream,
266+
C_Allocator allocator);
267+
```
268+
269+
### 接口说明
270+
271+
初始化Eigen GPU设备对象。
272+
273+
### 参数
274+
275+
place - 使用的设备的place对象。
276+
eigen_device - 存储Eigen GPU设备对象。
277+
stream - Custom Context中stream对象。
278+
allocator - Custom Context中的分配器对象。
279+
280+
## destroy_eigen_device 【optional】
281+
282+
### 接口定义
283+
284+
```c++
285+
C_Status (*destroy_eigen_device)(const C_Device device,
286+
C_EigenDevice* eigen_device);
287+
```
288+
289+
### 接口说明
290+
291+
销毁Eigen GPU设备对象。
292+
293+
### 参数
294+
295+
device - 使用的设备对象。
296+
eigen_device - 需要销毁的Eigen GPU设备对象。

0 commit comments

Comments
 (0)