aclrtDestroyGroupInfo
aclrtGetAllGroupInfo
函数功能
查询当前Context下可以使用的所有Group的详细算力信息。
Atlas 200/500 A2推理产品,不支持该接口。
函数原型
aclError aclrtGetAllGroupInfo(aclrtGroupInfo *groupInfo)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| groupInfo | 输出 | 获取所有Group对应的详细算力信息的指针。 需提前调用aclrtCreateGroupInfo接口创建aclrtGroupInfo类型的数据。 |
返回值说明
返回0表示成功,返回其它值表示失败。
父主题: 算力Group查询与设置
aclrtGetGroupInfoDetail
函数功能
查询当前Context下指定Group的算力信息。
Atlas 200/500 A2推理产品,不支持该接口。
函数原型
aclError aclrtGetGroupInfoDetail(const aclrtGroupInfo *groupInfo, int32_t groupIndex, aclrtGroupAttr attr, void *attrValue, size_t valueLen, size_t *paramRetSize)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| groupInfo | 输入 | 指定算力详细信息的首地址的指针。 需提前调用aclrtGetAllGroupInfo接口创获取所有Group的算力信息。 |
| groupIndex | 输入 | 访问groupInfo连续内存块的Group索引。 Group索引的取值范围:[0, (Group数量-1)],用户可调用aclrtGetGroupCount接口获取Group数量。 |
| attr | 输入 | 指定要获取其算力值的算力属性。 |
| attrValue | 输出 | 获取指定算力属性所对应的算力值的指针。 用户需根据每个属性的属性值数据类型申请对应大小的内存,用于存放属性值。 |
| valueLen | 输入 | 表示attrValue的最大长度,单位为Byte。 |
| paramRetSize | 输出 | 实际返回的attrValue大小的指针,单位为Byte。 |
返回值说明
返回0表示成功,返回其它值表示失败。
父主题: 算力Group查询与设置
aclrtCreateGroupInfo
函数功能
根据实际支持的Group数量创建aclrtGroupInfo类型的连续内存块,并返回对应指针。
如需销毁aclrtGroupInfo类型的数据,请参见aclrtDestroyGroupInfo。
Atlas 200/500 A2推理产品,不支持该接口。
函数原型
aclrtGroupInfo *aclrtCreateGroupInfo()
参数说明
无
返回值说明
返回aclrtGroupInfo类型的指针,如果无Group或不支持Group则返回nullptr。
父主题: 算力Group查询与设置
aclrtDestroyGroupInfo
函数功能
销毁aclrtGroupInfo类型的数据,释放相关的内存。只能销毁通过aclrtCreateGroupInfo接口创建的aclrtGroupInfo类型。
Atlas 200/500 A2推理产品,不支持该接口。
函数原型
aclError aclrtDestroyGroupInfo(aclrtGroupInfo *groupInfo)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| groupInfo | 输入 | 待销毁的aclrtGroupInfo类型数据的指针。 |
返回值说明
返回0表示成功,非零表示失败。
父主题: 算力Group查询与设置
aclrtCreateStream
函数功能
在当前进程或线程中创建一个Stream,同步接口。
约束说明
- 每个Context对应一个默认Stream,该默认Stream是调用aclrtSetDevice接口或aclrtCreateContext接口隐式创建的。推荐调用aclrtCreateStream接口显式创建Stream。
- 隐式创建Stream:适合简单、无复杂交互逻辑的应用,但缺点在于,在多线程编程中,执行结果取决于线程调度的顺序。
- 显式创建Stream:推荐显式,适合大型、复杂交互逻辑的应用,且便于提高程序的可读性、可维护性。
- 对于Atlas 200/500 A2推理产品,硬件资源最多支持512个Stream,如果已存在多个默认Stream,只能显式创建N个Stream(N=512-默认Stream个数-执行内部同步的Stream个数),例如,若已存在一个默认Stream和一个执行内部同步的Stream,则只能显式创建510个Stream。
函数原型
aclError aclrtCreateStream(aclrtStream *stream)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| stream | 输出 | Stream的指针。 |
返回值说明
返回0表示成功,返回其它值表示失败。
参考资源
接口调用流程及示例,参见运行管理资源申请与释放。
父主题: Stream管理
aclrtCreateStreamV2
函数功能
在当前进程或线程中创建一个Stream,支持创建Stream时增加Stream配置。同步接口。
Atlas 200/500 A2推理产品不支持该接口。
约束说明
- 本接口需要配合其它接口一起使用,创建Stream,接口调用顺序如下:
- 调用aclrtCreateStreamConfigHandle接口创建Stream配置对象。
- 多次调用aclrtSetStreamConfigOpt接口设置配置对象中每个属性的值。
- 调用aclrtCreateStreamV2接口创建Stream。
- Stream使用完成后,调用aclrtDestroyStreamConfigHandle接口销毁Stream配置对象,调用aclrtDestroyStream接口销毁Stream。
函数原型
aclError aclrtCreateStreamV2(****aclrtStream *stream, const aclrtStreamConfigHandle *handle)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| stream | 输出 | Stream的指针。 |
| handle | 输入 | Stream配置对象的指针。与aclrtSetStreamConfigOpt中的handle保持一致。 |
返回值说明
返回0表示成功,返回其它值表示失败。
父主题: Stream管理
aclrtSetStreamConfigOpt
函数功能
设置Stream配置对象中的各属性的取值。
Atlas 200/500 A2推理产品不支持该接口。
约束说明
本接口需要配合其它接口一起使用,创建Stream,接口调用顺序如下:
- 调用aclrtCreateStreamConfigHandle接口创建Stream配置对象。
- 多次调用aclrtSetStreamConfigOpt接口设置配置对象中每个属性的值。
- 调用aclrtCreateStreamV2接口创建Stream。
- Stream使用完成后,调用aclrtDestroyStreamConfigHandle接口销毁Stream配置对象,调用aclrtDestroyStream接口销毁Stream。
函数原型
aclError aclrtSetStreamConfigOpt(aclrtStreamConfigHandle *handle, aclrtStreamConfigAttr attr, const void *attrValue, size_t valueSize)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| handle | 输出 | Stream配置对象的指针。需提前调用aclrtCreateStreamConfigHandle接口创建该对象。 |
| attr | 输入 | 指定需设置的属性。 |
| attrValue | 输入 | 指向属性值的指针,attr对应的属性取值。 如果属性值本身是指针,则传入该指针的地址。 |
| valueSize | 输入 | attrValue部分的数据长度。 用户可使用C/C++标准库的函数sizeof(*attrValue)查询数据长度。 |
返回值说明
返回0表示成功,返回其它值表示失败。
父主题: Stream管理
在线提单