成功解决RuntimeError: CUDA error: invalid device ordinal
之前在跑代码的时候需要指定GPU出现了下面的这种情况:
在这里插入图片描述
导致上述情况的可能性主要是下面的原因:
用的Pytorch分布式代码,指定的每个节点GPU个数和你指定的GPU序号不对应(我出错的地方就是在这里)
CUDA_VISIBLE_DEVICES=2,3 python -m torch.distributed.launch --nproc_per_node=3 --nnodes=1 --node_rank=0 --master_addr=“127.0.0.1” --master_port=1234 train.py
通过nnodes指定总共使用1个节点,通过nproc_per_node指定了该节点启3个进程,但是前面CUDA_VISIBLE_DEVICES就只指定了两个GPU,对应不起来导致的。另:rank表示的结点之间的主、从关系。
参考:https://blog.csdn.net/qxqxqzzz/article/details/107720675
用于日常排错,自用。其他小伙伴跟我不一样的错误可以参考我给出博客地址,看看自己到底是哪里除了错误。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐