我安裝nvidia-docker并測驗我的安裝,我運行了docker run --rm --gpus all nvidia/cuda:10.0-base nvidia-smi. 我明白了
-----------------------------------------------------------------------------
| NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 |
|------------------------------- ---------------------- ----------------------
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=============================== ====================== ======================|
| 0 Quadro T2000 wi... On | 00000000:01:00.0 On | N/A |
| N/A 46C P0 10W / N/A | 2294MiB / 3911MiB | 0% Default |
| | | N/A |
------------------------------- ---------------------- ----------------------
驅動程式版本和CUDA版本與我nvidia-smi在常規終端中在容器外運行時得到的完全相同。我對驅動程式版本相同的理解是設備驅動程式是特定于硬體的,因此沒有安裝在容器內,nvidia-docker存在的原因是允許容器內運行的軟體與設備驅動程式對話。這樣對嗎?
我的主要困惑是為什么從容器內部報告 CUDA 版本為 11.4。當我在此容器中啟動 bash 終端并查看 中的 CUDA 安裝時/usr/local,我只看到 10.0 版,那么為什么nvidia-smi在容器內為我的主機系統上安裝了 CUDA 版本?
我相信這些問題顯示了對nvidia-smi作業原理或nvidia-docker作業原理的根本誤解,所以有人可以向我指出可以幫助我解決這種誤解的資源嗎?
uj5u.com熱心網友回復:
在此設定中,您不能運行超過 1 個 GPU 驅動程式。時期。該驅動程式安裝在基礎機器中。如果你做了一些不推薦的事情,比如安裝它或嘗試將它安裝在容器中,它仍然是基礎機器中對基礎機器和容器有效的那個。請注意,由 報告的任何內容僅與nvidia-smiGPU 驅動程式有關,因此使用安裝在基礎機器中的驅動程式,無論您在容器內部還是外部運行它。可能存在詳細的報告差異,例如可見的 GPU,但這不會影響報告的版本。
CUDA 運行時版本將是安裝在容器中的版本。時期。它沒有能力檢查容器外的東西。如果它恰好與您在容器外部看到的相匹配,那么就只是容器外部和內部具有相同配置的情況。
這個答案可能會解決您的大部分困惑,也許您的問題是那個問題的重復。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/318560.html
