aclrtCreateContext

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

√

Atlas A3 训练系列产品/Atlas A3 推理系列产品

√

Atlas A2 训练系列产品/Atlas A2 推理系列产品

√

Atlas 200I/500 A2 推理产品

√

Atlas 推理系列产品

√

Atlas 训练系列产品

√

功能说明

在当前线程中显式创建Context,并将当前线程与新创建的Context相关联。

若不调用aclrtCreateContext接口显式创建Context,那系统会使用默认Context,该默认Context是在调用aclrtSetDevice接口时隐式创建的。默认Context适合简单、无复杂交互逻辑的应用,但缺点在于,在多线程编程中,执行结果取决于线程调度的顺序。显式创建的Context适合大型、复杂交互逻辑的应用,且便于提高程序的可读性、可维护性。

函数原型

1
aclError aclrtCreateContext(aclrtContext *context, int32_t deviceId)

参数说明

参数名

输入/输出

说明

context

输出

Context的指针。类型定义请参见aclrtContext。

deviceId

输入

在指定的Device下创建Context。

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

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError。

约束说明