在modelscope-funasr我用这个命令运行起了两个进程,但是还是都加载在卡4上,怎么回事?CUDA_VISIBLE_DEVICES=4,5 torchrun --nproc_per_node 2 finetune.py
当您使用CUDA_VISIBLE_DEVICES=4,5 torchrun --nproc_per_node 2 finetune.py
命令在ModelScope-FunASR中运行两个进程时,如果两个进程仍然都加载在同一个GPU(卡4)上,可能是由于以下原因:
环境变量设置问题:确保您正确设置了CUDA_VISIBLE_DEVICES
环境变量。该变量用于指定可见的GPU设备,格式应为CUDA_VISIBLE_DEVICES=设备编号1,设备编号2
。在您的情况下,应该设置为CUDA_VISIBLE_DEVICES=4,5
。
代码中的GPU分配:检查您的代码(如finetune.py
)中是否存在其他GPU分配相关的设置。有些代码可能会忽略环境变量的设置,而使用特定的逻辑来分配GPU。
PyTorch版本问题:某些版本的PyTorch可能存在与环境变量相关的问题。确保您使用的PyTorch版本与环境变量的设置兼容。
系统配置问题:检查您的系统配置,确保没有其他软件或服务占用了GPU资源。这可能导致GPU无法正常分配给指定的进程。
综上所述,为了解决这个问题,您可以从上述几个方面进行排查和调整。如果问题仍然存在,建议查阅相关文档、论坛或寻求技术支持以获取更详细的帮助。
参考训练文档https://github.com/alibaba-damo-academy/FunASR/blob/main/docs/tutorial/README_zh.md
此回答整理自钉群“modelscope-funasr社区交流”