Using cloud vGPUs/fr: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
No edit summary
(Updating to match new version of source page)
 
Line 1: Line 1:
<languages />
<languages />
Cette page décrit comment
* allouer des ressources de GPU virtuel (vGPU) à une machine virtuelle,
* installer les pilotes requis,
* vérifier si le vGPU peut être utilisé.
L'accès aux dépôts de données et aux vGPU n'est présentement possible qu'avec [https://arbutus.cloud.computecanada.ca le nuage Arbutus]. Prenez note que nous ne présentons ici que l'installation des pilotes vGPU. La [https://developer.nvidia.com/cuda-toolkit-archive boîte à outils CUDA] n'est pas préinstallée, mais vous pouvez l'installer directement de NVIDIA ou la charger de la [[Accessing_CVMFS/fr| pile logicielle CVMFS]]. Si vous l'installez de NVIDIA, assurez-vous que le pilote de GPU n'est pas écrasé par celui du paquet CUDA.


== Gabarits pris en charge ==
This page describes how to
* allocate virtual GPU (vGPU) resources to a virtual machine (VM),
* install the necessary drivers and
* check whether the vGPU can be used.
Access to repositories as well as to the vGPUs is currently only available within [https://arbutus.cloud.computecanada.ca Arbutus Cloud]. Please note that the documentation below only covers the vGPU driver installation. The [https://developer.nvidia.com/cuda-toolkit-archive CUDA toolkit] is not pre-installed but you can install it directly from  NVIDIA or load it from [[Accessing_CVMFS|the CVMFS software stack]].
If you choose to install the toolkit directly from NVIDIA, please ensure that the vGPU driver is not overwritten with the one from the CUDA package.
 
== Supported flavors ==


Pour utiliser un vGPU dans une machine virtuelle, l'instance doit être déployée sur un des gabarits mentionnés ci-dessous. Le vGPU sera disponible pour le système d'exploitation via le bus PCI.
Pour utiliser un vGPU dans une machine virtuelle, l'instance doit être déployée sur un des gabarits mentionnés ci-dessous. Le vGPU sera disponible pour le système d'exploitation via le bus PCI.
Line 13: Line 15:
* g1-16gb-c8-40gb
* g1-16gb-c8-40gb


== Préparer une machine virtuelle sous CentOS7 ==
== Preparation of a VM running AlmaLinux 9 ==  
 
Once the VM is available, make sure to update the OS to the latest available software, including the kernel.
Then, reboot the VM to have the latest kernel running.


Une fois que la machine virtuelle est disponible, assurez-vous de mettre à jour le système d'exploitation avec la plus récente version, incluant le noyau (<i>kernel</i>). Redémarrez ensuite la machine virtuelle.  
To have access to the [https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support DKMS package], the [https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm EPEL repository] is required.
<pre>
[root@centos7]# yum -y update && reboot
</pre>


Puisque les pilotes propriétaires NVIDIA doivent être compilés avec le noyau en cours d'exécution, le [https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support paquet DKMS] est requis; voir [https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm EPEL Repository].
AlmaLinux 9 has by default a faulty <code>nouveau</code> driver which crashes the kernel as soon as the <code>nvidia</code> driver is mounted.  
The VM needs a few extra steps to prevent the loading of the nouveau driver when the system boots.


<pre>
<pre>
[root@centos7]# yum -y install epel-release
[root@almalinux9]# echo -e "blacklist nouveau\noptions nouveau modeset=0" >/etc/modprobe.d/blacklist-nouveau.conf
[root@almalinux9]# dracut -fv --omit-drivers nouveau
[root@almalinux9]# dnf -y update && dnf -y install epel-release && reboot
</pre>
</pre>


Installez [http://repo.arbutus.cloud.computecanada.ca/pulp/repos/centos/arbutus-cloud-vgpu-repo.el7.noarch.rpm le dépôt de données du nuage Arbutus]. Ceci installe aussi la clé publique pour les paquets afin d'en assurer l'authenticité. Ces pilotes et les outils sont testés rigoureusement avec l'infrastructure avant qu'ils ne soient mis à votre disposition.  
After the reboot of the VM, the Arbutus vGPU Cloud repository needs to be installed.  
 
<pre>
<pre>
[root@centos7]# yum -y install http://repo.arbutus.cloud.computecanada.ca/pulp/repos/centos/7/x86_64/Packages/a/arbutus-cloud-vgpu-repo-1.1-1.el7.noarch.rpm
[root@almalinux9]# dnf install http://repo.arbutus.cloud.computecanada.ca/pulp/repos/alma9/Packages/a/arbutus-cloud-vgpu-repo-1.0-1.el9.noarch.rpm</pre>
</pre>


La dernière étape est d'installer les </b>paquets vGPU NVIDIA</b>. Le paquet pour le module du noyau <code>nvidia-vgpu-kmod</code> prendra quelques minutes puisqu'il compile les modules de noyau requis en arrière-plan.
The next step is to install the vGPU packages, which will install the required driver and user-space tools.
<pre>
[root@centos7]# yum -y install nvidia-vgpu-kmod nvidia-vgpu-gridd nvidia-vgpu-tools
</pre>


Si votre installation réussit, le vGPU sera accessible avec une licence. Testez ceci en exécutant <code>nvidia-smi</code>.
<pre>
<pre>
[root@centos7]# nvidia-smi       
[root@almalinux9]# dnf -y install nvidia-vgpu-gridd.x86_64 nvidia-vgpu-tools.x86_64 nvidia-vgpu-kmod.x86_64
Tue Sep 21 17:40:33 2021     
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 460.91.03    CUDA Version: 11.2    |
|-------------------------------+----------------------+----------------------+
| 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  GRID V100D-8C      On  | 00000000:00:05.0 Off |                  N/A |
| N/A  N/A    P0    N/A /  N/A |    560MiB /  8192MiB |      0%      Default |
|                              |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                             
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU  GI  CI        PID  Type  Process name                  GPU Memory |
|        ID  ID                                                  Usage      |
|=============================================================================|
|  No running processes found                                                |
+-----------------------------------------------------------------------------+
 
</pre>
</pre>


Pour vérifier l'état de la licence et les autres informations sur le vGPU&nbsp;:
After a successful  installation, <code>nvidia-smi</code> can be used to verify the proper functionality.


<pre>
<pre>
[root@centos7]# nvidia-smi -q |less
[root@almalinux9]# nvidia-smi  
==============NVSMI LOG==============
Tue Apr 23 16:37:31 2024     
 
+-----------------------------------------------------------------------------------------+
Timestamp                                : Tue Sep 21 17:41:48 2021
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4    |
Driver Version                            : 460.91.03
|-----------------------------------------+------------------------+----------------------+
CUDA Version                             : 11.2
| 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  GRID V100D-8C                  On  |  00000000:00:06.0 Off |                    0 |
| N/A  N/A    P0            N/A /  N/A  |      0MiB /  8192MiB |      0%      Default |
|                                        |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                       
+-----------------------------------------------------------------------------------------+
| Processes:                                                                             |
|  GPU  GI  CI        PID  Type  Process name                             GPU Memory |
|        ID  ID                                                              Usage      |
|=========================================================================================|
|  No running processes found                                                            |
+-----------------------------------------------------------------------------------------+
</pre>


Attached GPUs                            : 1
== Preparation of a VM running AlmaLinux 8 ==
GPU 00000000:00:05.0
    Product Name                          : GRID V100D-8C
    Product Brand                        : NVIDIA Virtual Compute Server
    Display Mode                          : Enabled
    Display Active                        : Disabled
    Persistence Mode                      : Enabled
    MIG Mode
        Current                          : N/A
        Pending                          : N/A
    Accounting Mode                      : Disabled
    Accounting Mode Buffer Size          : 4000
    Driver Model
        Current                          : N/A
        Pending                          : N/A
    Serial Number                        : N/A
    GPU UUID                              : GPU-c6d5d6c1-1b00-11ec-b031-a89a79e5169c
    Minor Number                          : 0
    VBIOS Version                        : 00.00.00.00.00
    MultiGPU Board                        : No
    Board ID                              : 0x5
    GPU Part Number                      : N/A
    Inforom Version
        Image Version                    : N/A
        OEM Object                        : N/A
        ECC Object                        : N/A
        Power Management Object          : N/A
    GPU Operation Mode
        Current                          : N/A
        Pending                          : N/A
    GPU Virtualization Mode
        Virtualization Mode              : VGPU
        Host VGPU Mode                    : N/A
    vGPU Software Licensed Product
        Product Name                      : NVIDIA Virtual Compute Server
        License Status                    : Licensed
    IBMNPU
        Relaxed Ordering Mode            : N/A
    PCI
        Bus                              : 0x00
        Device                            : 0x05
        Domain                            : 0x0000
        Device Id                        : 0x1DB610DE
        Bus Id                            : 00000000:00:05.0
</pre>


== Préparer une machine virtuelle sous Almalinux8 ==
Once the VM is available, make sure to update the OS to the latest available software, including the kernel. Then, reboot the VM to have the latest kernel running.
To have access to the [https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support DKMS package], the EPEL repository is required.


Une fois que la machine virtuelle est disponible, assurez-vous de mettre à jour le système d'exploitation avec la plus récente version, incluant le noyau (<i>kernel</i>). Redémarrez ensuite la machine virtuelle.
Pour avoir accès au [https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support paquet DKMS], il faut le [https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm EPEL Repository].
<pre>
<pre>
[root@vgpu almalinux]# dnf -y update && dnf -y install epel-release && reboot
[root@vgpu almalinux]# dnf -y update && dnf -y install epel-release && reboot
</pre>
</pre>


Installez maintenant [http://repo.arbutus.cloud.computecanada.ca/pulp/repos/centos/8/x86_64/Packages/a/arbutus-cloud-vgpu-repo-1.2-1.el8.noarch.rpm le dépôt de données du nuage Arbutus].
After the reboot of the VM, the Arbutus vGPU Cloud repository needs to be installed.


<pre>
<pre>
[root@almalinux8]# dnf install http://repo.arbutus.cloud.computecanada.ca/pulp/repos/centos/8/x86_64/Packages/a/arbutus-cloud-vgpu-repo-1.2-1.el8.noarch.rpm
[root@almalinux8]# dnf install http://repo.arbutus.cloud.computecanada.ca/pulp/repos/alma8/Packages/a/arbutus-cloud-vgpu-repo-1.0-1.el8.noarch.rpm
</pre>
</pre>


La prochaine étape est d'installer les paquets vGPU pour installer le pilote et les outils nécessaires.
The next step is to install the vGPU packages, which will install the required driver and user-space tools.
 
<pre>
<pre>
[root@vgpu almalinux]# dnf -y install nvidia-vgpu-gridd.x86_64 nvidia-vgpu-tools.x86_64 nvidia-vgpu-kmod.x86_64
[root@vgpu almalinux]# dnf -y install nvidia-vgpu-gridd.x86_64 nvidia-vgpu-tools.x86_64 nvidia-vgpu-kmod.x86_64
</pre>
</pre>


Si votre installation réussit, vous pouvez utiliser <b>nvidia-smi</b> pour vérifier le bon fonctionnement.
After a successful  installation, <code>nvidia-smi</code> can be used to verify the proper functionality.


<pre>
<pre>
[root@almalinux8]# nvidia-smi  
[root@almalinux8]# nvidia-smi  
Wed Apr  5 15:07:23 2023     
+-----------------------------------------------------------------------------------------+
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4    |
| NVIDIA-SMI 470.182.03  Driver Version: 470.182.03  CUDA Version: 11.4    |
|-----------------------------------------+------------------------+----------------------+
|-------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id         Disp.A | Volatile Uncorr. ECC |
| GPU  Name       Persistence-M| Bus-Id       Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf         Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
| Fan  Temp Perf Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                       |              MIG M. |
|                               |                     |              MIG M. |
|=========================================+========================+======================|
|===============================+======================+======================|
|  0  GRID V100D-8C                 On |   00000000:00:06.0 Off |                    0 |
|  0  GRID V100D-8C       On  | 00000000:00:06.0 Off |                    0 |
| N/A  N/A    P0             N/A /  N/A |       0MiB /   8192MiB |      0%      Default |
| N/A  N/A    P0   N/A /  N/A |   560MiB / 8192MiB |      0%      Default |
|                                         |                       |                  N/A |
|                               |                     |                  N/A |
+-----------------------------------------+------------------------+----------------------+
+-------------------------------+----------------------+----------------------+
                                                                                       
                                                                             
+-----------------------------------------------------------------------------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                                             |
| Processes:                                                                 |
|  GPU  GI  CI        PID  Type  Process name                             GPU Memory |
|  GPU  GI  CI        PID  Type  Process name                 GPU Memory |
|        ID  ID                                                               Usage      |
|        ID  ID                                                   Usage      |
|=========================================================================================|
|=============================================================================|
|  No running processes found                                                             |
|  No running processes found                                                 |
+-----------------------------------------------------------------------------------------+
+-----------------------------------------------------------------------------+
</pre>
</pre>


== Préparer une machine virtuelle sous Debian10 ==
== Preparation of a VM running Debian 11 ==
Assurez-vous que les paquets les plus récents sont installés et que le système a été démarré avec le noyau stable le plus récent puisque <b>DKMS</b> exigera le dernier disponible dans les dépôts de données Debian.
Ensure that the latest packages are installed and the system has been booted with the latest stable kernel, as <b>DKMS</b> will request the latest one available from the Debian repositories.


<pre>
<pre>
root@debian10:~# apt-get update && apt-get -y dist-upgrade && reboot
root@debian11:~# apt-get update && apt-get -y dist-upgrade && reboot
</pre>  
</pre>


Après un redémarrage réussi, le système devrait fonctionner avec le dernier noyau disponible. Le dépôt de données peut maintenant être installé en installant le paquet <code>arbutus-cloud-repo</code> qui contient aussi la clé gpg pour tous les paquets.
After a successful reboot, the system should have the latest available kernel running and the repository can be installed, by installing the <code>arbutus-cloud-repo</code> package.
This package also contains the gpg key all packages are signed with.


<pre>
<pre>
root@debian10:~# apt-get -y install gnupg
root@debian11:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/deb11/pool/main/arbutus-cloud-repo_0.1_all.deb
root@debian10:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/debian/pool/main/arbutus-cloud-repo_0.3_all.deb
root@debian11:~# apt-get install -y ./arbutus-cloud-repo_0.1_all.deb
root@debian10:~# dpkg -i arbutus-cloud-repo_0.3_all.deb
</pre>
</pre>


L'installation du paquet affichera un avertissement puisque l'importation directe de la clé est facilitée par la procédure de post-installation du paquet.
Update the local apt cache and install the vGPU packages:


<pre>
<pre>
Setting up arbutus-cloud-repo (0.1) ...
root@debian11:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd
Warning: apt-key should not be used in scripts (called from postinst maintainerscript of the package arbutus-cloud-repo)
OK
</pre>
</pre>
Faites la mise à jour de la cache apt locale et installez les paquets vGPU.


<pre>
<pre>
root@debian10:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd
root@debian11:~# nvidia-smi
Tue Apr 23 18:55:18 2024     
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.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  GRID V100D-8C                  On  |  00000000:00:06.0 Off |                    0 |
| N/A  N/A    P0            N/A /  N/A  |      0MiB /  8192MiB |      0%      Default |
|                                        |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                       
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU  GI  CI        PID  Type  Process name                              GPU Memory |
|        ID  ID                                                              Usage      |
|=========================================================================================|
|  No running processes found                                                            |
+-----------------------------------------------------------------------------------------+
</pre>
</pre>


Si votre installation réussit, le vGPU sera accessible avec une licence. Testez ceci en exécutant <tt>nvidia-smi</tt> tel que décrit ci-dessus pour [[Using cloud vGPUs/fr#Préparer_une_machine_virtuelle_sous_CentOS7 | CentOS7]].
== Preparation of a VM running Debian 12 ==
 
Ensure that the latest packages are installed and the system has been booted with the latest stable kernel, as <b>DKMS</b> will request the latest one available from the Debian repositories.
== Préparer une machine virtuelle sous Debian11 ==
Assurez-vous que les paquets les plus récents sont installés et que le système a été démarré avec le noyau stable le plus récent puisque <b>DKMS</b> exigera le dernier disponible dans les dépôts de données Debian.


<pre>
<pre>
root@debian11:~# apt-get update && apt-get -y dist-upgrade && reboot
root@debian12:~# apt-get update && apt-get -y dist-upgrade && reboot
</pre>  
</pre>  


Une fois le système redémarré, le noyau le plus récent devrait être en fonction et le dépôt de données peut être installé avec le paquet <code>arbutus-cloud-repo</code> qui contient la clé gpg pour tous les paquets.
After a successful reboot, the system should have the latest available kernel running and the repository can be installed, by installing the <code>arbutus-cloud-repo</code> package.
This package also contains the gpg key all packages are signed with.


<pre>
<pre>
root@debian11:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/debian11/pool/main/arbutus-cloud-repo_0.2_all.deb
root@debian12:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/deb12/pool/main/arbutus-cloud-repo_0.1+deb12_all.deb
root@debian11:~# apt-get install -y ./arbutus-cloud-repo_0.2_all.deb
root@debian12:~# apt-get install -y ./arbutus-cloud-repo_0.1+deb12_all.deb
</pre>
</pre>


Faites la mise à jour de la cache apt locale et installez les paquets vGPU.
Update the local apt cache and install the vGPU packages:
 
<pre>
root@debian12:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd
</pre>


<pre>
<pre>
root@debian11:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd
root@debian12:~# nvidia-smi
Tue Apr 23 18:55:18 2024     
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.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  GRID V100D-8C                  On  |  00000000:00:06.0 Off |                    0 |
| N/A  N/A    P0            N/A /  N/A  |      0MiB /  8192MiB |      0%      Default |
|                                        |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                       
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU  GI  CI        PID  Type  Process name                              GPU Memory |
|        ID  ID                                                              Usage      |
|=========================================================================================|
|  No running processes found                                                            |
+-----------------------------------------------------------------------------------------+
</pre>
</pre>


== Préparer une machine virtuelle sous Ubuntu22 ==
== Preparation of a VM running Ubuntu 22 ==
Assurez-vous que le système d'exploitation est à jour, que toutes les rustines (<i>patches</i>) les plus récentes sont installées et que le dernier noyau (<i>kernel</i>) stable est en cours d'exécution.
Ensure that the OS is up to date, that all the latest patches are installed, and that the latest stable kernel is running.


<pre>
<pre>
Line 222: Line 210:
</pre>
</pre>


 
After a successful reboot, the system should have the latest available kernel running.  
Après un redémarrage réussi, le système devrait fonctionner avec le dernier noyau disponible. Le dépôt de données peut maintenant être installé en installant le paquet <code>arbutus-cloud-repo</code> qui contient aussi la clé gpg pour tous les paquets.
Now the repository can be installed by installing the <code>arbutus-cloud-repo</code> package.
This package also contains the gpg key all packages are signed with.


<pre>
<pre>
root@ubuntu22:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/ubuntu22/pool/main/arbutus-cloud-repo_0.2_all.deb
root@ubuntu22:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/ubnt22/pool/main/arbutus-cloud-repo_0.1_all.deb
root@ubuntu22:~# dpkg -i arbutus-cloud-repo_0.2_all.deb
root@ubuntu22:~# apt-get install ./arbutus-cloud-repo_0.1_all.deb
</pre>
</pre>


Un avertissement sera affiché parce que la clé est ajoutée à l'étape de post-installation; vous pouvez ne pas en tenir compte.
Update the local apt cache and install the vGPU packages:
Faites la mise à jour de la cache locale apt et installez les paquets vGPU.
<pre>
<pre>
root@ubuntu22:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd
root@ubuntu22:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd
</pre>
</pre>


Si votre installation réussit, le vGPU sera accessible avec une licence. Testez ceci en exécutant <tt>nvidia-smi</tt> tel que décrit ci-dessus pour [[Using cloud vGPUs/fr#Préparer_une_machine_virtuelle_sous_CentOS7 | CentOS7]].
If your installation was successful, the vGPU will be accessible and licensed.
 
<pre>
root@ubuntu22:~# nvidia-smi  
Wed Apr 24 14:37:52 2024     
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.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  GRID V100D-8C                  On  |  00000000:00:06.0 Off |                    0 |
| N/A  N/A    P0            N/A /  N/A  |      0MiB /   8192MiB |      0%      Default |
|                                        |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                       
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU  GI  CI        PID  Type  Process name                              GPU Memory |
|        ID  ID                                                              Usage      |
|=========================================================================================|
|  No running processes found                                                            |
+-----------------------------------------------------------------------------------------+
</pre>


== Préparer une machine virtuelle sous Ubuntu20 ==
== Preparation of a VM running Ubuntu 20 ==
Assurez-vous que le système d'exploitation est à jour, que toutes les rustines (<i>patches</i>) les plus récentes sont installées et que le dernier noyau (<i>kernel</i>) stable est en cours d'exécution.
Ensure that the OS is up to date, that all the latest patches are installed, and that the latest stable kernel is running.


<pre>
<pre>
Line 245: Line 257:
</pre>
</pre>


Après un redémarrage réussi, le système devrait fonctionner avec le dernier noyau disponible. Le dépôt de données peut maintenant être installé en installant le paquet <code>arbutus-cloud-repo</code> qui contient aussi la clé gpg pour tous les paquets.
After a successful reboot, the system should have the latest available kernel running.  
Now the repository can be installed by installing the <code>arbutus-cloud-repo</code> package.
This package also contains the gpg key all packages are signed with.


<pre>
<pre>
root@ubuntu20:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/ubuntu/pool/main/arbutus-cloud-repo_0.2ubuntu20_all.deb
root@ubuntu20:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/ubnt20/pool/main/arbutus-cloud-repo_0.1ubuntu20_all.deb
root@ubuntu20:~# dpkg -i arbutus-cloud-repo_0.2ubuntu20_all.deb
root@ubuntu20:~# apt-get install ./arbutus-cloud-repo_0.1ubuntu20_all.deb
</pre>
</pre>


Un avertissement sera affiché parce que la clé est ajoutée à l'étape de post-installation; vous pouvez ne pas en tenir compte.
Update the local apt cache and install the vGPU packages:
Faites la mise à jour de la cache locale apt et installez les paquets vGPU.
<pre>
<pre>
root@ubuntu20:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd
root@ubuntu20:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd
</pre>
</pre>


Si votre installation réussit, le vGPU sera accessible avec une licence. Testez ceci en exécutant <tt>nvidia-smi</tt> tel que décrit ci-dessus pour [[Using cloud vGPUs/fr#Préparer_une_machine_virtuelle_sous_CentOS7 | CentOS7]].
If your installation was successful, the vGPU will be accessible and licensed.
 
<pre>
root@ubuntu20:~# nvidia-smi  
Wed Apr 24 14:37:52 2024     
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.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  GRID V100D-8C                  On  |  00000000:00:06.0 Off |                    0 |
| N/A  N/A    P0            N/A /  N/A  |      0MiB /   8192MiB |      0%      Default |
|                                        |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                       
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU  GI  CI        PID  Type  Process name                              GPU Memory |
|        ID  ID                                                              Usage      |
|=========================================================================================|
|  No running processes found                                                            |
+-----------------------------------------------------------------------------------------+
</pre>


[[Category:Cloud]]
[[Category:Cloud]]

Latest revision as of 18:42, 29 October 2024

Other languages:

This page describes how to

  • allocate virtual GPU (vGPU) resources to a virtual machine (VM),
  • install the necessary drivers and
  • check whether the vGPU can be used.

Access to repositories as well as to the vGPUs is currently only available within Arbutus Cloud. Please note that the documentation below only covers the vGPU driver installation. The CUDA toolkit is not pre-installed but you can install it directly from NVIDIA or load it from the CVMFS software stack. If you choose to install the toolkit directly from NVIDIA, please ensure that the vGPU driver is not overwritten with the one from the CUDA package.

Supported flavors

Pour utiliser un vGPU dans une machine virtuelle, l'instance doit être déployée sur un des gabarits mentionnés ci-dessous. Le vGPU sera disponible pour le système d'exploitation via le bus PCI.

  • g1-8gb-c4-22gb
  • g1-16gb-c8-40gb

Preparation of a VM running AlmaLinux 9

Once the VM is available, make sure to update the OS to the latest available software, including the kernel. Then, reboot the VM to have the latest kernel running.

To have access to the DKMS package, the EPEL repository is required.

AlmaLinux 9 has by default a faulty nouveau driver which crashes the kernel as soon as the nvidia driver is mounted. The VM needs a few extra steps to prevent the loading of the nouveau driver when the system boots.

[root@almalinux9]# echo -e "blacklist nouveau\noptions nouveau modeset=0" >/etc/modprobe.d/blacklist-nouveau.conf
[root@almalinux9]# dracut -fv --omit-drivers nouveau
[root@almalinux9]# dnf -y update && dnf -y install epel-release && reboot

After the reboot of the VM, the Arbutus vGPU Cloud repository needs to be installed.

[root@almalinux9]# dnf install http://repo.arbutus.cloud.computecanada.ca/pulp/repos/alma9/Packages/a/arbutus-cloud-vgpu-repo-1.0-1.el9.noarch.rpm

The next step is to install the vGPU packages, which will install the required driver and user-space tools.

[root@almalinux9]# dnf -y install nvidia-vgpu-gridd.x86_64 nvidia-vgpu-tools.x86_64 nvidia-vgpu-kmod.x86_64

After a successful installation, nvidia-smi can be used to verify the proper functionality.

[root@almalinux9]# nvidia-smi 
Tue Apr 23 16:37:31 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.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  GRID V100D-8C                  On  |   00000000:00:06.0 Off |                    0 |
| N/A   N/A    P0             N/A /  N/A  |       0MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

Preparation of a VM running AlmaLinux 8

Once the VM is available, make sure to update the OS to the latest available software, including the kernel. Then, reboot the VM to have the latest kernel running. To have access to the DKMS package, the EPEL repository is required.

[root@vgpu almalinux]# dnf -y update && dnf -y install epel-release && reboot

After the reboot of the VM, the Arbutus vGPU Cloud repository needs to be installed.

[root@almalinux8]# dnf install http://repo.arbutus.cloud.computecanada.ca/pulp/repos/alma8/Packages/a/arbutus-cloud-vgpu-repo-1.0-1.el8.noarch.rpm

The next step is to install the vGPU packages, which will install the required driver and user-space tools.

[root@vgpu almalinux]# dnf -y install nvidia-vgpu-gridd.x86_64 nvidia-vgpu-tools.x86_64 nvidia-vgpu-kmod.x86_64

After a successful installation, nvidia-smi can be used to verify the proper functionality.

[root@almalinux8]# nvidia-smi 
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.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  GRID V100D-8C                  On  |   00000000:00:06.0 Off |                    0 |
| N/A   N/A    P0             N/A /  N/A  |       0MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

Preparation of a VM running Debian 11

Ensure that the latest packages are installed and the system has been booted with the latest stable kernel, as DKMS will request the latest one available from the Debian repositories.

root@debian11:~# apt-get update && apt-get -y dist-upgrade && reboot

After a successful reboot, the system should have the latest available kernel running and the repository can be installed, by installing the arbutus-cloud-repo package. This package also contains the gpg key all packages are signed with.

root@debian11:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/deb11/pool/main/arbutus-cloud-repo_0.1_all.deb
root@debian11:~# apt-get install -y ./arbutus-cloud-repo_0.1_all.deb

Update the local apt cache and install the vGPU packages:

root@debian11:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd
root@debian11:~# nvidia-smi
Tue Apr 23 18:55:18 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.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  GRID V100D-8C                  On  |   00000000:00:06.0 Off |                    0 |
| N/A   N/A    P0             N/A /  N/A  |       0MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

Preparation of a VM running Debian 12

Ensure that the latest packages are installed and the system has been booted with the latest stable kernel, as DKMS will request the latest one available from the Debian repositories.

root@debian12:~# apt-get update && apt-get -y dist-upgrade && reboot

After a successful reboot, the system should have the latest available kernel running and the repository can be installed, by installing the arbutus-cloud-repo package. This package also contains the gpg key all packages are signed with.

root@debian12:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/deb12/pool/main/arbutus-cloud-repo_0.1+deb12_all.deb
root@debian12:~# apt-get install -y ./arbutus-cloud-repo_0.1+deb12_all.deb

Update the local apt cache and install the vGPU packages:

root@debian12:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd
root@debian12:~# nvidia-smi
Tue Apr 23 18:55:18 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.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  GRID V100D-8C                  On  |   00000000:00:06.0 Off |                    0 |
| N/A   N/A    P0             N/A /  N/A  |       0MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

Preparation of a VM running Ubuntu 22

Ensure that the OS is up to date, that all the latest patches are installed, and that the latest stable kernel is running.

root@ubuntu22:~# apt-get update && apt-get -y dist-upgrade && reboot

After a successful reboot, the system should have the latest available kernel running. Now the repository can be installed by installing the arbutus-cloud-repo package. This package also contains the gpg key all packages are signed with.

root@ubuntu22:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/ubnt22/pool/main/arbutus-cloud-repo_0.1_all.deb
root@ubuntu22:~# apt-get install ./arbutus-cloud-repo_0.1_all.deb

Update the local apt cache and install the vGPU packages:

root@ubuntu22:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd

If your installation was successful, the vGPU will be accessible and licensed.

root@ubuntu22:~# nvidia-smi 
Wed Apr 24 14:37:52 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.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  GRID V100D-8C                  On  |   00000000:00:06.0 Off |                    0 |
| N/A   N/A    P0             N/A /  N/A  |       0MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

Preparation of a VM running Ubuntu 20

Ensure that the OS is up to date, that all the latest patches are installed, and that the latest stable kernel is running.

root@ubuntu20:~# apt-get update && apt-get -y dist-upgrade && reboot

After a successful reboot, the system should have the latest available kernel running. Now the repository can be installed by installing the arbutus-cloud-repo package. This package also contains the gpg key all packages are signed with.

root@ubuntu20:~# wget http://repo.arbutus.cloud.computecanada.ca/pulp/deb/ubnt20/pool/main/arbutus-cloud-repo_0.1ubuntu20_all.deb
root@ubuntu20:~# apt-get install ./arbutus-cloud-repo_0.1ubuntu20_all.deb

Update the local apt cache and install the vGPU packages:

root@ubuntu20:~# apt-get update && apt-get -y install nvidia-vgpu-kmod nvidia-vgpu-tools nvidia-vgpu-gridd

If your installation was successful, the vGPU will be accessible and licensed.

root@ubuntu20:~# nvidia-smi 
Wed Apr 24 14:37:52 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.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  GRID V100D-8C                  On  |   00000000:00:06.0 Off |                    0 |
| N/A   N/A    P0             N/A /  N/A  |       0MiB /   8192MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+