CANN/runtime 算力Group查询与设置
16. 算力Group查询与设置
【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime
本章节描述 CANN Runtime 的算力 Group 接口,用于 AI Core 分组的设置、查询及信息获取。
aclError aclrtSetGroup(int32_t groupId):指定当前运算使用哪个Group的算力,该接口必须在指定Context后调用。aclError aclrtGetGroupCount(uint32_t *count):查询当前Context下可以使用的Group个数。aclError aclrtGetAllGroupInfo(aclrtGroupInfo *groupInfo):查询当前Context下可以使用的所有Group的详细算力信息。aclError aclrtGetGroupInfoDetail(const aclrtGroupInfo *groupInfo, int32_t groupIndex, aclrtGroupAttr attr, void *attrValue, size_t valueLen, size_t *paramRetSize):查询当前Context下指定Group的算力信息。aclrtGroupInfo *aclrtCreateGroupInfo():根据实际支持的Group数量创建aclrtGroupInfo类型的连续内存块,并返回对应指针。aclError aclrtDestroyGroupInfo(aclrtGroupInfo *groupInfo):销毁aclrtGroupInfo类型的数据,释放相关的内存。
aclrtSetGroup
aclError aclrtSetGroup(int32_t groupId)产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | ☓ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | ☓ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | ☓ |
功能说明
指定当前运算使用哪个Group的算力,该接口必须在指定Context后调用。
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| groupId | 输入 | 表示Group的ID,用于指定当前计算要使用的Group。 您需要提前调用aclrtGetGroupInfoDetail接口获取Group的ID。 |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
aclrtGetGroupCount
aclError aclrtGetGroupCount(uint32_t *count)产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | ☓ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | ☓ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | ☓ |
功能说明
查询当前Context下可以使用的Group个数。
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| count | 输出 | 当前Context下可用Group个数的指针。 |
aclrtGetAllGroupInfo
aclError aclrtGetAllGroupInfo(aclrtGroupInfo *groupInfo)产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | ☓ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | ☓ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | ☓ |
功能说明
查询当前Context下可以使用的所有Group的详细算力信息。
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| groupInfo | 输出 | 获取所有Group对应的详细算力信息的指针。 需提前调用aclrtCreateGroupInfo接口创建aclrtGroupInfo类型的数据。 |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
aclrtGetGroupInfoDetail
aclError aclrtGetGroupInfoDetail(const aclrtGroupInfo *groupInfo, int32_t groupIndex, aclrtGroupAttr attr, void *attrValue, size_t valueLen, size_t *paramRetSize)产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | ☓ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | ☓ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | ☓ |
功能说明
查询当前Context下指定Group的算力信息。
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| groupInfo | 输入 | 指定算力详细信息的首地址的指针。 需提前调用aclrtGetAllGroupInfo接口获取所有Group的算力信息。 |
| groupIndex | 输入 | 访问groupInfo连续内存块的Group索引。 Group索引的取值范围:[0, (Group数量-1)],用户可调用aclrtGetGroupCount接口获取Group数量。 |
| attr | 输入 | 指定要获取其算力值的算力属性。类型定义请参见aclrtGroupAttr。 |
| attrValue | 输出 | 获取指定算力属性所对应的算力值的指针。 用户需根据每个属性的属性值数据类型申请对应大小的内存,用于存放属性值。 |
| valueLen | 输入 | 表示attrValue的最大长度,单位为Byte。 |
| paramRetSize | 输出 | 实际返回的attrValue大小的指针,单位为Byte。 |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
aclrtCreateGroupInfo
aclrtGroupInfo *aclrtCreateGroupInfo()产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | ☓ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | ☓ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | ☓ |
功能说明
根据实际支持的Group数量创建aclrtGroupInfo类型的连续内存块,并返回对应指针。
如需销毁aclrtGroupInfo类型的数据,请参见aclrtDestroyGroupInfo。
参数说明
无
返回值说明
返回aclrtGroupInfo类型的指针,如果无Group或不支持Group则返回nullptr。
aclrtDestroyGroupInfo
aclError aclrtDestroyGroupInfo(aclrtGroupInfo *groupInfo)产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | ☓ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | ☓ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | ☓ |
功能说明
销毁aclrtGroupInfo类型的数据,释放相关的内存。只能销毁通过aclrtCreateGroupInfo接口创建的aclrtGroupInfo类型。
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| groupInfo | 输入 | 待销毁的aclrtGroupInfo类型数据的指针。 |
返回值说明
返回0表示成功,非零表示失败,请参见aclError。
【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
