Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]v3.11.8 版本 GPU 透传到 虚拟机后, 设备无法正常运行 #21826

Open
khw934 opened this issue Dec 17, 2024 · 10 comments
Open
Labels
bug Something isn't working state/awaiting processing

Comments

@khw934
Copy link

khw934 commented Dec 17, 2024

问题描述/What happened:

GPU 透传到 虚拟机后, 设备无法正常运行, 报错如下

/opt/conda/lib/python3.8/site-packages/torch/cuda/init.py:52: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 802: system not yet initialized (Triggered internally at /opt/conda/conda-bld/pytorch_1607370172916/work/c10/cuda/CUDAFunctions.cpp:100.)
return torch._C._cuda_getDeviceCount() > 0

image

环境/Environment:

  • OS (e.g. cat /etc/os-release):
  • Kernel (e.g. uname -a):
  • Host: (e.g. dmidecode | egrep -i 'manufacturer|product' |sort -u)
  • Service Version (e.g. kubectl exec -n onecloud $(kubectl get pods -n onecloud | grep climc | awk '{print $1}') -- climc version-list):
@khw934 khw934 added the bug Something isn't working label Dec 17, 2024
@zexi
Copy link
Member

zexi commented Dec 18, 2024

@khw934 执行 nvidia-smi 能正常输出吗?

@khw934
Copy link
Author

khw934 commented Dec 18, 2024

@khw934 执行 nvidia-smi 能正常输出吗?

@zexi
Copy link
Member

zexi commented Dec 24, 2024

@khw934 没看到回复

@khw934
Copy link
Author

khw934 commented Dec 27, 2024

nvidia-smi
执行 nvidia-smi 是正常的, 但是训练任务的时候, 就有问题了

@zexi
Copy link
Member

zexi commented Dec 30, 2024

@khw934 这个得具体看下训练任务的报错日志,然后排查了

@khw934
Copy link
Author

khw934 commented Dec 31, 2024

@khw934 这个得具体看下训练任务的报错日志,然后排查了

我大概找到问题了, gpu 主机有 8 张卡, 配置 了 NVIDIA NVSwitch , 但是虚拟化 的时候, 怎么把 NVIDIA NVSwitch 给虚拟机, 这有方案?

@wanyaoqi
Copy link
Member

可以使用自定义透传设备,把nvswitch 也透传到虚机内

@khw934
Copy link
Author

khw934 commented Dec 31, 2024

可以使用自定义透传设备,把nvswitch 也透传到虚机内

这不行的, 8 张 GPU 卡 配 了 nvswitch 4 张, 开出多台虚拟机, 怎么透传到 那个虚拟机。

@wanyaoqi
Copy link
Member

wanyaoqi commented Dec 31, 2024

可以使用自定义透传设备,把nvswitch 也透传到虚机内

这不行的, 8 张 GPU 卡 配 了 nvswitch 4 张, 开出多台虚拟机, 怎么透传到 那个虚拟机。

这种场景只能是全透传,8张卡和 nvswitch 全透传到一个虚机。
如果想要透传部分的卡和 nvswitch 需要切断剩余部分nvswitch 和 GPU 的连接,frabic manager 才能正常工作。
但是如何切断需要找 nvidia 支持 。

@khw934
Copy link
Author

khw934 commented Dec 31, 2024

可以使用自定义透传设备,把nvswitch 也透传到虚机内

这不行的, 8 张 GPU 卡 配 了 nvswitch 4 张, 开出多台虚拟机, 怎么透传到 那个虚拟机。

这种场景只能是全透传,8张卡和 nvswitch 全透传到一个虚机。 如果想要透传部分的卡和 nvswitch 需要切断剩余部分nvswitch 和 GPU 的连接,frabic manager 才能正常工作。 但是如何切断需要找 nvidia 支持 。

是的, 目前就遇到这个问题, 看看官方文档是否能解决。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working state/awaiting processing
Projects
None yet
Development

No branches or pull requests

3 participants