aclrtCreateContext

函数功能

在当前进程或线程中显式创建一个Context。

对于Atlas 200/300/500 推理产品,该Context中包含2个Stream,1个默认Stream和1个执行内部同步的Stream。

对于Atlas 推理系列产品,在标准形态下,该Context中包含2个Stream,1个默认Stream和1个执行内部同步的Stream。

对于Atlas 200/500 A2推理产品,该Context中包含2个Stream,1个默认Stream和1个执行内部同步的Stream。

对于Atlas 训练系列产品,该Context中包含1个默认Stream。

对于Atlas A2训练系列产品/Atlas 800I A2推理产品,该Context中包含1个默认Stream。

如果在应用程序中没有调用aclrtSetDevice接口,那么在首次调用aclrtCreateContext接口时,系统内部会根据该接口传入的Device ID,为该Device绑定一个默认Stream(一个Device仅绑定一个默认Stream),因此在首次调用aclrtCreateContext接口时,占用的Stream数量 = Device上绑定的默认Stream + Context中包含的Stream。

约束说明

支持以下使用场景:

函数原型

aclError aclrtCreateContext(aclrtContext *context, int32_t deviceId)

参数说明

参数名

输入/输出

说明

context

输出

Context的指针。

deviceId

输入

在指定的Device下创建Context。

用户调用aclrtGetDeviceCount接口获取可用的Device数量后,这个Device ID的取值范围:[0, (可用的Device数量-1)]

返回值说明

返回0表示成功,返回其他值表示失败。