函数:set_device
C函数原型 |
aclError aclrtSetDevice(int32_t deviceId) |
---|---|
Python函数 |
ret = acl.rt.set_device(device_id) |
函数功能 |
指定当前进程或线程中用于运算的Device,同时隐式创建默认Context,同步接口。 对于Atlas 200/300/500 推理产品,该默认Context中包含2个Stream,1个默认Stream和1个执行内部同步的Stream。 对于Atlas 200/500 A2推理产品,该默认Context中包含1个默认Stream。 对于Atlas 训练系列产品,该默认Context中包含1个默认Stream。 对于Atlas A2训练系列产品,该默认Context中包含1个默认Stream。 对于Atlas 推理系列产品,在标准形态下,该Context中包含2个Stream,1个默认Stream和1个执行内部同步的Stream。 |
输入说明 |
device_id:int,Device设备号。 用户调用acl.rt.get_device_count接口获取可用的Device数量后,取值范围:[0, (可用的Device数量 - 1)]。 |
返回值说明 |
ret:int,错误码。
|
约束说明 |
如果多次调用acl.rt.set_device接口而不调用acl.rt.reset_device接口释放本进程使用的Device资源,功能上不会有问题,因为在进程退出时也会释放本进程使用的Device资源。建议acl.rt.set_device接口和acl.rt.reset_device接口配对使用,在不使用Device上资源时,通过调用acl.rt.reset_device接口及时释放本进程使用的Device资源。 支持以下使用场景:
|
参考资源 |
接口调用流程与示例,请参见运行管理资源申请与释放、同步等待。 |