指定当前进程或线程中用于运算的Device,同时隐式创建默认Context。同步接口。
对于Atlas 200/300/500 推理产品,该默认Context中包含2个Stream,1个默认Stream和1个执行内部同步的Stream。
对于Atlas 训练系列产品,该默认Context中包含1个默认Stream。
对于Atlas A2训练系列产品,该默认Context中包含1个默认Stream。
对于Atlas 推理系列产品,在标准形态下,该默认Context中包含2个Stream,1个默认Stream和1个执行内部同步的Stream。
如果多次调用aclrtSetDevice接口而不调用aclrtResetDevice接口释放本进程使用的Device资源,功能上不会有问题,因为在进程退出时也会释放本进程使用的Device资源。建议aclrtSetDevice接口和aclrtResetDevice接口配对使用,在不使用Device上资源时,通过调用aclrtResetDevice接口及时释放本进程使用的Device资源。
支持以下使用场景:
aclError aclrtSetDevice(int32_t deviceId)
参数名 |
输入/输出 |
说明 |
---|---|---|
deviceId |
输入 |
Device ID。 用户调用aclrtGetDeviceCount接口获取可用的Device数量后,这个Device ID的取值范围:[0, (可用的Device数量-1)] |
返回0表示成功,返回其它值表示失败。
接口调用流程及示例,参见运行管理资源申请与释放。