可以在nvidia平台上正常运行的模型训练代码在东方超算的海光平台上运行报告代码出错。错误信息报告 pytorch混合精度库 amp 找不到 GradScaler属性,但是单独测试这个属性是存在的。请问如何解决这个问题?
具体的配置和出错信息如下。
1. slurm脚本中配置的库信息
source activate /public/home/yewcsysu/local_conda/pytorch-2.1.0-dtk2404
module purge
module load compiler/devtoolset/7.3.1 mpi/hpcx/2.11.0/gcc-7.3.1
module load compiler/rocm/dtk/24.04.3
export LD_LIBRARY_PATH=/public/software/apps/DeepLearning/Libs/openssl-1.1.0j//lib:$LD_LIBRARY_PATH
2. 具体报错信息见图1
3. 为检验配置的torch库的amp是否有GradScaler属性,编辑了一个python文件查询。输出结果显示该属性存在
测试文件run.sbatch_test_amp 内容:
import torch
print(torch.__version__)
print("cuda amp available:", hasattr(torch.cuda.amp, "GradScaler"))
6. ```
输出
2.1.0
cuda amp available: True
```