Ce document est une liste de conseils en cas de problème. Si vous rencontrez des difficultés en utilisant des GPUs, ce document devrait pouvoir vous aider.
Le package cu
fonctionne avec une application appelée cudatest
qui devrait être utile pour résoudre des problèmes.
Pour installer cudatest
, lancez :
go install gorgonia.org/cu/cmd/cudatest
Cela implique que vous ayez déjà installé CUDA, et cuDNN.
Si vous utilisez plusieurs GPUs, vous pourriez tomber sur un message qui ressemble à ce qui suit :
Error in initialization, please refer to "https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__INITIALIZE.html"
Cela signifie généralement que l’une de vos GPUs ne supporte pas CUDA. Vous pouvez tout de même utiliser CUDA si vous savez qu’au moins une de vous GPUs supporte CUDA.
D’abord, utilisez nvidia-smi
pour trouver les GPUs utilisées. Voici un exemple ci-dessous.
Thu Jul 16 17:41:10 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.05 Driver Version: 450.51.05 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
| 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 Tesla K20Xm On | 00000000:06:00.0 Off | 0 |
| N/A 33C P8 16W / 235W | 0MiB / 5700MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GT 1030 On | 00000000:07:00.0 On | N/A |
| 35% 33C P0 N/A / 30W | 656MiB / 1994MiB | 51% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 1 N/A N/A XXXX G /usr/lib/xorg/Xorg 270MiB |
| 1 N/A N/A XXXX G /usr/bin/PROGRAMNAME 77MiB |
| 1 N/A N/A XXXX G /usr/bin/PROGRAMNAME 68MiB |
| 1 N/A N/A XXXX G ...AAAAAAAAA= --shared-files 221MiB |
+-----------------------------------------------------------------------------+
Ici, on voit qu’il y a deux GPUs :
La GeForce GT 1030 ne supporte pas CUDA. Alors que la Tesla K20Xm, si. Pour résoudre ce problème, ajoutez simplement cette variable d’environnement :
CUDA_VISIBLE_DEVICES=0 cudatest
Cela devrait vous renvoyer quelque chose comme ça :
$ CUDA_VISIBLE_DEVICES=0 cudatest
CUDA version: 11000
CUDA devices: 1
Device 0
========
Name : "Tesla K20Xm"
Clock Rate: 732000 kHz
Memory : 5977800704 bytes
Compute : 3.5