aclrtGetPhyDevIdByLogicDevId

产品支持情况

产品 是否支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品

功能说明

根据逻辑设备ID获取对应的物理设备ID。

函数原型

aclError aclrtGetPhyDevIdByLogicDevId(const int32_t logicDevId, int32_t *const phyDevId)

参数说明

参数名 输入/输出 说明
logicDevId 输入 逻辑设备ID。
phyDevId 输出 物理设备ID。

返回值说明

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

用户设备ID、逻辑设备ID、物理设备ID之间的关系

若未设置ASCEND_RT_VISIBLE_DEVICE环境变量,逻辑设备ID与用户设备ID相同;若在非容器场景下,物理设备ID与逻辑设备ID相同。

下图以容器场景且设置ASCEND_RT_VISIBLE_DEVICE环境变量为例说明三者之间的关系:通过ASCEND_RT_VISIBLE_DEVICES环境变量设置的Device ID依次为1、2,对应的Device索引值依次为0、1,通过aclrtSetDevice接口设置的用户设备ID为0,即对应的Device索引值为0,因此用户设备ID=0对应逻辑设备ID=1,容器中的逻辑设备ID=1又映射到物理设备ID=6,因此最终是使用ID为6的物理设备进行计算。

关于ASCEND_RT_VISIBLE_DEVICES环境的详细介绍请参见《环境变量参考》。