已开启
docs: add docs for is_available/PYTORCH_HAL_BASED_NPU_CHECK reference #45973
Jesse创建于 9月8日
docs: add docs for is_available/PYTORCH_HAL_BASED_NPU_CHECK reference #45973
已开启
共 4 个文件变更+37-0
| @@ -0,0 +1,34 @@ | |||
| 1 | +# PYTORCH\_HAL\_BASED\_NPU\_CHECK | ||
| 2 | + | ||
| 3 | +## 功能描述 | ||
| 4 | + | ||
| 5 | +通过此环境变量可配置`torch_npu.npu.is_available()`使用的NPU可用性检测方式。 | ||
| 6 | + | ||
| 7 | +- 配置为“1”时:`torch_npu.npu.is_available()`通过HAL接口探测设备数量(与`torch_npu.npu.device_count()`采用相同路径)。 | ||
| 8 | + - 动态加载`libascend_hal.so`。 | ||
| 9 | + - 解析`ASCEND_RT_VISIBLE_DEVICES`环境变量。 | ||
| 10 | + - 若HAL探测失败,则回退至Runtime方式检测。 | ||
| 11 | +- 配置为其他值或者未配置时:`torch_npu.npu.is_available()`通过Runtime接口查询设备数量。 | ||
| 12 | + - 首次查询到的非零设备数将被缓存。 | ||
| 13 | + - 有效降低NPU初始化前频繁调用`is_available()`的开销。 | ||
| 14 | + | ||
| 15 | +此环境变量默认未配置,环境变量的命名与取值语义设计上参考了PyTorch社区的[PYTORCH_NVML_BASED_CUDA_CHECK](https://docs.pytorch.org/docs/stable/cuda_environment_variables.html),在功能模式和使用逻辑上保持一致,便于开发者迁移和理解。 | ||
| 16 | + | ||
| 17 | +## 配置示例 | ||
| 18 | + | ||
| 19 | +启用基于HAL的检测路径: | ||
| 20 | + | ||
| 21 | +```bash | ||
| 22 | +export PYTORCH_HAL_BASED_NPU_CHECK=1 | ||
| 23 | +``` | ||
| 24 | + | ||
| 25 | +## 使用约束 | ||
| 26 | + | ||
| 27 | +该环境变量仅在值严格等于“1”时生效,若配置为其他值(如“true”、“on”等),均视为未启用,不触发相应功能。 | ||
| 28 | + | ||
| 29 | +## 支持的型号 | ||
| 30 | + | ||
| 31 | +- <term>Atlas 训练系列产品</term> | ||
| 32 | +- <term>Atlas A2 训练系列产品</term> | ||
| 33 | +- <term>Atlas A3 训练系列产品</term> | ||
| 34 | +- <term>Ascend 950DT</term> | ||
| @@ -86,6 +86,7 @@ | |||
| 86 | 86 | ||
| 87 | |环境变量名称|简介| | 87 | |环境变量名称|简介| |
| 88 | |--|--| | 88 | |--|--| |
| 89 | +|[PYTORCH_HAL_BASED_NPU_CHECK](device_management/PYTORCH_HAL_BASED_NPU_CHECK.md)|通过此环境变量可配置`torch_npu.npu.is_available()`使用的NPU可用性检测方式,配置为1时使用HAL接口探测设备数量。| | ||
| 89 | |[STREAMS_PER_DEVICE](device_management/STREAMS_PER_DEVICE.md)|通过此环境变量可配置stream pool的最大流数。| | 90 | |[STREAMS_PER_DEVICE](device_management/STREAMS_PER_DEVICE.md)|通过此环境变量可配置stream pool的最大流数。| |
| 90 | |[TORCH_NPU_DEVICE_CAPABILITY](device_management/TORCH_NPU_DEVICE_CAPABILITY.md)|通过此环境变量可配置`torch_npu.npu.get_device_capability()`的返回值。| | 91 | |[TORCH_NPU_DEVICE_CAPABILITY](device_management/TORCH_NPU_DEVICE_CAPABILITY.md)|通过此环境变量可配置`torch_npu.npu.get_device_capability()`的返回值。| |
| 91 | |[TORCH_TRANSFER_TO_NPU](device_management/TORCH_TRANSFER_TO_NPU.md)|通过此环境变量可配置是否自动启用transfer_to_npu功能,将PyTorch的CUDA相关API自动替换为NPU对应API。| | 92 | |[TORCH_TRANSFER_TO_NPU](device_management/TORCH_TRANSFER_TO_NPU.md)|通过此环境变量可配置是否自动启用transfer_to_npu功能,将PyTorch的CUDA相关API自动替换为NPU对应API。| |
此环境变量默认未配置,环境变量的命名与取值语义设计上参考了 PyTorch 社区的
PYTORCH_NVML_BASED_CUDA_CHECK,在功能模式和使用逻辑上保持一致,便于开发者迁移和理解。建议加上跳转链接