KVM GPU
    • PDF

    KVM GPU

    • PDF

    Article Summary

    VPC環境で利用できます。

    NAVERクラウドプラットフォームで作成した GPU A100サーバを点検する方法について説明します。

    GPUドライバと必須ソフトウェア

    サーバの GPUドライバと必要なソフトウェアを点検します。詳細な点検要素は、次の通りです。

    ドライババージョンの確認

    GPUドライバのバージョンを確認するには、nvidia-smiコマンドを入力します。

    • 正常にインストールされたドライバのバージョンと、認識された GPUカードモデルおよび数を確認できます。
    # nvidia-smi 
    Thu Nov 10 10:01:36 2022       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 470.82.01    Driver Version: 470.82.01    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  NVIDIA A100-SXM...  On   | 00000000:07:00.0 Off |                    0 |
    | N/A   30C    P0    62W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   1  NVIDIA A100-SXM...  On   | 00000000:0A:00.0 Off |                    0 |
    | N/A   28C    P0    62W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   2  NVIDIA A100-SXM...  On   | 00000000:45:00.0 Off |                    0 |
    | N/A   28C    P0    61W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   3  NVIDIA A100-SXM...  On   | 00000000:4B:00.0 Off |                    0 |
    | N/A   31C    P0    61W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   4  NVIDIA A100-SXM...  On   | 00000000:83:00.0 Off |                    0 |
    | N/A   32C    P0    64W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   5  NVIDIA A100-SXM...  On   | 00000000:89:00.0 Off |                    0 |
    | N/A   28C    P0    63W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   6  NVIDIA A100-SXM...  On   | 00000000:BF:00.0 Off |                    0 |
    | N/A   28C    P0    61W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   7  NVIDIA A100-SXM...  On   | 00000000:C2:00.0 Off |                    0 |
    | N/A   31C    P0    64W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    
    参考

    現在、GPU A100に提供しているドライバのバージョンは470.82.01です。

    CUDAバージョンの確認

    CUDAドライバのバージョンを確認するには、nvcc --versionコマンドを入力します。

    • CUDA Toolkitのバージョンを確認できます。
    # nvcc --version
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2021 NVIDIA Corporation
    Built on Wed_Jun__2_19:15:15_PDT_2021
    Cuda compilation tools, release 11.4, V11.4.48
    Build cuda_11.4.r11.4/compiler.30033411_0
    

    NVIDIAドライバと CUDAを再インストールするには、次のガイドに従って手動でインストールします。

    参考

    現在、GPU A100に提供している CUDAのバージョンは11.4です。

    Dockerと NVIDIA-Dockerの確認

    Dockerと NVIDIA-Dockerの正常動作有無を確認するには、次のコマンドを入力します。

    • docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
    注意

    パブリック IPアドレスが割り当てられている必要があります。

    # docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
    Unable to find image 'nvidia/cuda:11.6.2-base-ubuntu20.04' locally
    11.6.2-base-ubuntu20.04: Pulling from nvidia/cuda
    eaead16dc43b: Pull complete
    cb69caf25724: Pull complete
    3a665e403616: Pull complete
    bcf9a52c75ac: Pull complete
    8941157b58ad: Pull complete
    Digest: sha256:a3665dcde87552d805bab89371ce6477aef472758e5b46a16189884bd1ab601c
    Status: Downloaded newer image for nvidia/cuda:11.6.2-base-ubuntu20.04
    Mon Nov 14 02:55:18 2022       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 470.82.01    Driver Version: 470.82.01    CUDA Version: 11.6     |
    |-------------------------------+----------------------+----------------------+
    | 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  NVIDIA A100-SXM...  On   | 00000000:07:00.0 Off |                    0 |
    | N/A   29C    P0    61W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   1  NVIDIA A100-SXM...  On   | 00000000:0A:00.0 Off |                    0 |
    | N/A   27C    P0    60W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   2  NVIDIA A100-SXM...  On   | 00000000:45:00.0 Off |                    0 |
    | N/A   28C    P0    62W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   3  NVIDIA A100-SXM...  On   | 00000000:4B:00.0 Off |                    0 |
    | N/A   30C    P0    61W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   4  NVIDIA A100-SXM...  On   | 00000000:83:00.0 Off |                    0 |
    | N/A   30C    P0    64W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   5  NVIDIA A100-SXM...  On   | 00000000:89:00.0 Off |                    0 |
    | N/A   27C    P0    62W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   6  NVIDIA A100-SXM...  On   | 00000000:BF:00.0 Off |                    0 |
    | N/A   27C    P0    61W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    |   7  NVIDIA A100-SXM...  On   | 00000000:C2:00.0 Off |                    0 |
    | N/A   30C    P0    60W / 400W |      0MiB / 81251MiB |      0%      Default |
    |                               |                      |             Disabled |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

    必要デーモン(nvidia-fabricmanager、nv_peer_mem)の確認

    必要なデーモン(nvidia-fabricmanager、nv_peer_mem)を確認するには、次のコマンドを入力して Active項目が active(running)に表示されているか確認します。

    # systemctl status nvidia-fabricmanager.service 
    ● nvidia-fabricmanager.service - NVIDIA fabric manager service
       Loaded: loaded (/usr/lib/systemd/system/nvidia-fabricmanager.service; enabled; vendor preset: disabled)
       Active: active (running) since Tue 2022-11-08 18:23:34 KST; 38min ago
      Process: 2636 ExecStart=/usr/bin/nv-fabricmanager -c /usr/share/nvidia/nvswitch/fabricmanager.cfg (code=exited, status=0/SUCCESS)
     Main PID: 2690 (nv-fabricmanage)
        Tasks: 18
       Memory: 11.4M
       CGroup: /system.slice/nvidia-fabricmanager.service
               └─2690 /usr/bin/nv-fabricmanager -c /usr/share/nvidia/nvswitch/fabricmanager.cfg
    
    Nov 08 18:23:24 s1845661cd3b systemd[1]: Starting NVIDIA fabric manager service...
    Nov 08 18:23:34 s1845661cd3b nv-fabricmanager[2690]: Successfully configured all the available GPUs and NVSwitches.
    Nov 08 18:23:34 s1845661cd3b systemd[1]: Started NVIDIA fabric manager service.
    
    # systemctl status nv_peer_mem.service 
    ● nv_peer_mem.service - LSB: Activates/Deactivates nv_peer_mem module to start at boot time.
       Loaded: loaded (/etc/rc.d/init.d/nv_peer_mem; bad; vendor preset: disabled)
       Active: active (exited) since Tue 2022-11-08 18:23:19 KST; 39min ago
         Docs: man:systemd-sysv-generator(8)
      Process: 2048 ExecStart=/etc/rc.d/init.d/nv_peer_mem start (code=exited, status=0/SUCCESS)
        Tasks: 0
       Memory: 0B
    
    Nov 08 18:23:19 s1845661cd3b systemd[1]: Starting LSB: Activates/Deactivates nv_peer_mem module to start at boot time....
    Nov 08 18:23:19 s1845661cd3b nv_peer_mem[2048]: starting... OK
    Nov 08 18:23:19 s1845661cd3b systemd[1]: Started LSB: Activates/Deactivates nv_peer_mem module to start at boot time..
    

    NVLinkトポロジーの確認

    NVLinkトポロジーの正常有無を確認するには、nvidia-smi topo -mコマンドを入力して GPU間の NVLink接続状態を確認します。

    • NVLinkが正常に初期化された場合、GPU間の NVLink情報は NV12で表示されます。
    • GPU間の接続が SYSと表示される場合、nvidia-fabricmanagerサービスが正常にロードされているかご確認ください。
    # nvidia-smi topo -m
            GPU0	GPU1	GPU2	GPU3	GPU4	GPU5	GPU6	GPU7	mlx5_0	mlx5_1	CPU Affinity	NUMA Affinity
    GPU0	 X 	    NV12	NV12	NV12	NV12	NV12	NV12	NV12	 PXB	SYS 	0-63	    	N/A
    GPU1	NV12	 X 	    NV12	NV12	NV12	NV12	NV12	NV12	 PXB	SYS 	0-63	     	N/A
    GPU2	NV12	NV12	 X  	NV12	NV12	NV12	NV12	NV12	 SYS	SYS 	0-63	    	N/A
    GPU3	NV12	NV12	NV12	 X 	    NV12	NV12	NV12	NV12	 SYS	SYS 	0-63	    	N/A
    GPU4	NV12	NV12	NV12	NV12	 X 	    NV12	NV12	NV12	 SYS	SYS 	0-63	    	N/A
    GPU5	NV12	NV12	NV12	NV12	NV12	 X 	    NV12	NV12	 SYS	SYS 	0-63	    	N/A
    GPU6	NV12	NV12	NV12	NV12	NV12	NV12	 X  	NV12	 SYS	PXB 	0-63	    	N/A
    GPU7	NV12	NV12	NV12	NV12	NV12	NV12	NV12	 X 	     SYS	PXB 	0-63	    	N/A
    mlx5_0	PXB 	PXB 	SYS 	SYS 	SYS 	SYS 	SYS 	SYS 	 X  	SYS		
    mlx5_1	SYS 	SYS 	SYS 	SYS 	SYS 	SYS 	PXB 	PXB 	 SYS	 X 		 
    

    Infiniband

    Infinibandとは、高性能コンピューティングで使用される標準的なネットワーク通信技術で、高帯域幅と低遅延というメリットがあります。
    GPU A100サーバ間の通信に使用されるため、必ず点検が必要です。Infinibandの点検方法は、次の通りです。

    1. サーバ間の Infiniband通信のための準備

    サーバ間の Infiniband通信のために準備する内容は、次の通りです。

    • GPU A100は、2つの200Gb/秒の Infiniband HDR接続により、合計400Gbpsの帯域幅を提供します。
    • Infiniband接続を使用するには、通信を希望するすべてのサーバが Cluster Modeに設定されている必要があります。 Fabric Cluster メニューで新規クラスタを作成するか、作成されたクラスタに希望するサーバを含めます。詳しい設定方法は、Fabric Clusterをご参照ください。

    2. Infiniband接続状態の確認

    Infinibandの接続状態を確認するには、ibstatコマンドを入力してサーバに接続されている Infinibandポートの状態を確認します。

    • Physical state項目は LinkUpState項目は Activeが正常状態です。
    • サーバの起動直後、しばらくの間 Physical state項目が Polling状態として表示されることがありますが、これは接続を確立する過程で正常です。
    • Rate200と表示される必要があります。
    [root@test01 ~]# ibstat
    CA 'mlx5_0'
            CA type: MT4123
            Number of ports: 1
            Firmware version: 20.30.1004
            Hardware version: 0
            Node GUID: 0x1070fd03005feb0c
            System image GUID: 0x1070fd03005feb0c
            Port 1:
                    State: Active
                    Physical state: LinkUp
                    Rate: 200
                    Base lid: 65
                    LMC: 0
                    SM lid: 14
                    Capability mask: 0x2651e848
                    Port GUID: 0x1070fd03005feb0c
                    Link layer: InfiniBand
    CA 'mlx5_1'
            CA type: MT4123
            Number of ports: 1
            Firmware version: 20.30.1004
            Hardware version: 0
            Node GUID: 0x1070fd03005feb58
            System image GUID: 0x1070fd03005feb58
            Port 1:
                    State: Active
                    Physical state: LinkUp
                    Rate: 200
                    Base lid: 64
                    LMC: 0
                    SM lid: 14
                    Capability mask: 0x2651e848
                    Port GUID: 0x1070fd03005feb58
                    Link layer: InfiniBand     
    

    3. 通信テスト

    サーバ間の Infiniband通信は ibpingでテストすることができ、データをやり取りする Clientと Serverロールの両方のサーバを駆動する必要があります。
    まず、データを受け取る Serverロールのサーバの LID情報を確認した後、ibpingテストを行います。

    3-1. LID情報確認

    Serverロールのサーバでibstatコマンドを入力し、mlx5_0と mlx5_1の LID情報を確認します。

    [root@test01 ~]# ibstat mlx5_0 | grep 'Base lid'
                    Base lid: 210
    
    [root@test01 ~]# ibstat mlx5_1 | grep 'Base lid'
                    Base lid: 209
    

    3-2. mlx5_0テスト

    mlx5_0テストを行う方法は、次の通りです。

    1. Serverロールのサーバで ibping -S -C mlx5_0コマンドを実行します。
    2. Clientロールのサーバで ibping -c5 -C mlx5_0 -L {確認された mlx5_0 LID値}コマンドを実行します。
      • 正常な場合、次のようにすべての pingパケットに対するレスポンスが正常に受信されます。
      root@test02:~# ibping -c5 -C mlx5_0 -L 210
      Pong from test01.(none) (Lid 210): time 0.027 ms
      Pong from test01.(none) (Lid 210): time 0.013 ms
      Pong from test01.(none) (Lid 210): time 0.012 ms
      Pong from test01.(none) (Lid 210): time 0.017 ms
      Pong from test01.(none) (Lid 210): time 0.013 ms
      
      --- test01.(none) (Lid 210) ibping statistics ---
      5 packets transmitted, 5 received, 0% packet loss, time 5000 ms
      rtt min/avg/max = 0.012/0.016/0.027 ms
      

    3-3. mlx5_1テスト

    mlx5_0テストを行う方法は、次の通りです。

    1. Serverロールのサーバで ibping -S -C mlx5_1コマンドを実行します。
    2. Clientロールのサーバで ibping -c5 -C mlx5_1 -L {確認された mlx5_1 LID値}コマンドを実行します。
      • 正常な場合、次のようにすべての pingパケットに対するレスポンスが正常に受信されます。
      root@test02~# ibping -c5 -C mlx5_1 -L 209
      Pong from test01.(none) (Lid 209): time 0.024 ms
      Pong from test01.(none) (Lid 209): time 0.013 ms
      Pong from test01.(none) (Lid 209): time 0.009 ms
      Pong from test01.(none) (Lid 209): time 0.009 ms
      Pong from test01.(none) (Lid 209): time 0.014 ms
      
      --- test01.(none) (Lid 209) ibping statistics ---
      5 packets transmitted, 5 received, 0% packet loss, time 5000 ms
      rtt min/avg/max = 0.009/0.013/0.024 ms
      

    3-4. IP over Infiniband(IPoIB)の設定

    NVIDIAの IPoIB設定ガイドを参照して IPoIBの設定を行います。


    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.