--- title: "KVM GPU" slug: "server-gpuserver-vpc-kvm" updated: 2026-10-08T06:54:09Z published: 2026-10-08T06:54:09Z canonical: "guide.ncloud-docs.com/server-gpuserver-vpc-kvm" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # KVM GPU Available in VPC You can create and manage KVM-based GPU servers in the NAVER Cloud Platform console. Note - To ensure service continuity without interruption in the event of unexpected server failures or scheduled changes, it is recommended to configure servers with inter-zone redundancy by default. To configure redundancy, see [Load Balancer overview](/docs/en/networking-loadbalancer-loadbalanceroverview). - NAVER Cloud Platform provides a High Availability (HA) structure to prepare for failures in the physical server, such as memory, CPU, and power supply. HA is a policy for preventing hardware failures from expanding into the virtual machine (VM) server. It supports Live Migration, which automatically migrates the VM on the host server to another secure host server when a failure occurs in the aforementioned host server. However, the VM server is restarted if an error prevents Live Migration. If the service is operated on a single VM server, a VM restart may cause a service disruption. To reduce the frequency of failures, it is recommended to configure VM server redundancy as described above. ## Check server information You can view GPU server information in the same way as general server information. For more information, see [Check server information](/docs/en/server-screen-vpc). Caution - GPU servers incur full server charges even when stopped. ## Create GPU server You can create GPU servers from **Menu** > **All Services** > **Compute** > **Server** in the VPC environment of the console. For more information on how to create a server, see [Create server](/docs/en/server-create-vpc). Note - You can create GPU servers using NCP GPU images with pre-installed drivers and related software. - See the following table for Regions available per GPU type: | GPU type | Region | | --- | --- | | NVIDIA A100 | KR-1 | | NVIDIA H100 | KR-2 | | NVIDIA L4 | KR-1, KR-2 | | NVIDIA L40S | KR-2 | - Corporate members can create up to 5 NVIDIA A100 servers. If you need more GPU servers or if you are an individual member who needs to create a GPU server, see the [FAQs](https://www.ncloud.com/support/faq/all/3178) section and submit an inquiry to [Customer Support](https://www.ncloud.com/support/question/service?parentCode=O2O_SVR&code=O2O_SVR_001_005). - For instructions on installing NVIDIA drivers and required software, see [GPU server software installation guide](/docs/en/server-gpuserver-vpc-kvm#GPU%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EC%84%A4%EC%B9%98). ## Manage server You can manage and change GPU server settings in the same way as general servers. For more information, see [Manage server](/docs/en/server-manage-vpc). Note - KVM GPU server specifications cannot be changed. - GPU servers cannot be converted to general servers. To change to a regular server, you need to create a server image, then use the image to create a new regular server. - You can create GPU servers using server images created from general servers. Caution - Some GPU Servers come with high-performance local storage by default, which cannot be changed (added or deleted). - High-performance local storage is non-persistent, so data is deleted (by cryptographic erasure) when the instance is stopped or fails. - Local storage is not backed up and cannot be recovered. Make sure to store important data separately in external storage that supports permanent retention, such as Block Storage or Object Storage. ## Install GPU driver Select 1 of the 2 following options: - [Option 1. Use an NCP GPU image with the driver pre-installed](/docs/en/server-gpuserver-vpc-kvm#%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EA%B0%80%EC%82%AC%EC%A0%84%EC%84%A4%EC%B9%98%EB%90%9CNCPGPU%EC%9D%B4%EB%AF%B8%EC%A7%80%EC%82%AC%EC%9A%A9) - [Option 2. Manually install the GPU driver and related software](/docs/en/server-gpuserver-vpc-kvm#NVIDIA%EA%B0%80%EC%9D%B4%EB%93%9C%EB%A5%BC%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%ACGPU%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EB%B0%8FCUDA%EC%84%A4%EC%B9%98) ### Option 1. Use an NCP GPU image with the driver pre-installed To create an NCP GPU server with NVIDIA drivers and related software pre-installed: Note - MLNX_OFED for using InfiniBand is pre-installed when you create NVIDIA A100 and H100 GPU servers. 1. In the VPC environment of the NAVER Cloud Platform console, navigate to **Menu** > **All Services** > **Compute** > **Server**. 2. On the server images tab, select the **NCP server image** tab. 3. Select **KVM GPU** as the image type. 4. Select the **Server image name** you wish to use. ### Option 2. Install the GPU driver and CUDA using the NVIDIA guide Caution - When creating a GPU server, set the boot disk size to at least 100 GB. - On NVIDIA A100 and H100 GPU servers, you must install NVIDIA Fabric Manager. - If you use InfiniBand on NVIDIA A100 or H100 GPU servers, you must install NVIDIA MLNX_OFED. Note - [NVIDIA driver documentation](https://docs.nvidia.com/datacenter/tesla/drivers/index.html) - The minimum recommended driver versions for each GPU type are listed below: | GPU type | Minimum recommended driver release | | --- | --- | | NVIDIA A100 | R530 or later | | NVIDIA H100 | R535 or later | | NVIDIA L4 | R535 or later | | NVIDIA L40S | R535 or later | #### 2.1 Install GPU driver Verify the minimum recommended driver version for your GPU type, and see [NVIDIA driver installation guide](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/) to install it. Note - For NVLink support, NVIDIA Fabric Manager must also be installed on NVIDIA A100 and H100 GPU servers. - Refer to the [NVIDIA Fabric Manager](https://docs.nvidia.com/datacenter/tesla/fabric-manager-user-guide/index.html) documentation to install it. - You must install the NVIDIA Fabric Manager that exactly matches your GPU driver version. #### 2.2 Install CUDA Toolkit To install CUDA: 1. Access the [NVIDIA CUDA Toolkit website](https://developer.nvidia.com/cuda-downloads?target_os=Linux). 2. Select the CUDA Runtime installation file for the version to install to download. - Select **runfile (local)** as the Installer Type. 3. Enter the following commands to install CUDA Toolkit: ``` # chmod +x [name of downloaded installer file] # ./[name of downloaded installer file] --toolkit --toolkitpath=/usr/local/cuda-[version] --samples --samplespath=/usr/local/cuda --silent ``` ## Check GPU driver and essential software Check the GPU driver and essential software on the server. - [Driver version](/docs/en/server-gpuserver-vpc-kvm#%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EB%B2%84%EC%A0%84%ED%99%95%EC%9D%B8) - [CUDA version](/docs/en/server-gpuserver-vpc-kvm#CUDAToolkit%EB%B2%84%EC%A0%84%ED%99%95%EC%9D%B8) - [NVLink status](/docs/en/server-gpuserver-vpc-kvm#NVLink%EC%83%81%ED%83%9C%ED%99%95%EC%9D%B8) ### Check driver version To check the GPU driver version, enter the `nvidia-smi` command. - You can check the installed driver version and the GPU model and quantity. - The following is an example of an NVIDIA A100 GPU server: ``` # nvidia-smi Mon Jun 9 17:23:12 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 570.124.06 Driver Version: 570.124.06 CUDA Version: 12.8 | |-----------------------------------------+------------------------+----------------------+ | 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-SXM4-80 GB On | 00000000:A1:00.0 Off | Off | | N/A 38C P0 66 W/400 W | 1 MiB/81920 MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 1 NVIDIA A100-SXM4-80 GB On | 00000000:A2:00.0 Off | Off | | N/A 38C P0 63 W/400 W | 1 MiB/81920 MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 2 NVIDIA A100-SXM4-80 GB On | 00000000:B1:00.0 Off | Off | | N/A 35C P0 62 W/400 W | 1 MiB/81920 MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 3 NVIDIA A100-SXM4-80 GB On | 00000000:B2:00.0 Off | Off | | N/A 39C P0 63 W/400 W | 1 MiB/81920 MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 4 NVIDIA A100-SXM4-80 GB On | 00000000:C1:00.0 Off | Off | | N/A 36C P0 64 W/400 W | 1 MiB/81920 MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 5 NVIDIA A100-SXM4-80 GB On | 00000000:C2:00.0 Off | Off | | N/A 38C P0 63 W/400 W | 1 MiB/81920 MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 6 NVIDIA A100-SXM4-80 GB On | 00000000:D1:00.0 Off | Off | | N/A 36C P0 59 W/400 W | 1 MiB/81920 MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ | 7 NVIDIA A100-SXM4-80 GB On | 00000000:D2:00.0 Off | Off | | N/A 36C P0 60 W/400 W | 1 MiB/81920 MiB | 0% Default | | | | Disabled | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+ ``` ### Check CUDA Toolkit version To check the CUDA Toolkit version, enter the `nvcc --version` command. ``` # nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2025 NVIDIA Corporation Built on Fri_Feb_21_20:23:50_PST_2025 Cuda compilation tools, release 12.8, V12.8.93 Build cuda_12.8.r12.8/compiler.35583870_0 ``` ### Disable MIG If MIG is enabled, enter the `nvidia-smi -mig 0` command. Note - You can check MIG status with either `nvidia-smi -L` or `nvidia-smi -q | grep MIG` command. - You can also disable MIG using the `nvidia-smi -mig disable` command. - After changing the settings, you must reset the GPU or reboot the system. - If MIG is enabled, some GPU metrics may not be displayed. ### Check NVLink status Note - The following applies only to NVIDIA A100 GPU servers: Enter the `nvidia-smi topo -m` command to check the NVLink status between GPUs. - Under normal conditions, the NVLink status between NVIDIA A100 GPUs is displayed as `NV12`. - If the NVLink status between GPUs is displayed as `SYS`, check whether NVIDIA Fabric Manager is installed and running properly. - You can check the NVIDIA Fabric Manager status with the `systemctl status nvidia-fabricmanager` command. ``` # nvidia-smi topo -m GPU0 GPU1 GPU2 GPU3 GPU4 GPU5 GPU6 GPU7 NIC0 NIC1 CPU Affinity NUMA Affinity GPU NUMA ID GPU0 X NV12 NV12 NV12 NV12 NV12 NV12 NV12 NODE PHB 0-27 0 N/A GPU1 NV12 X NV12 NV12 NV12 NV12 NV12 NV12 NODE PHB 0-27 0 N/A GPU2 NV12 NV12 X NV12 NV12 NV12 NV12 NV12 PHB NODE 0-27 0 N/A GPU3 NV12 NV12 NV12 X NV12 NV12 NV12 NV12 PHB NODE 0-27 0 N/A GPU4 NV12 NV12 NV12 NV12 X NV12 NV12 NV12 SYS SYS 28-55 1 N/A GPU5 NV12 NV12 NV12 NV12 NV12 X NV12 NV12 SYS SYS 28-55 1 N/A GPU6 NV12 NV12 NV12 NV12 NV12 NV12 X NV12 SYS SYS 28-55 1 N/A GPU7 NV12 NV12 NV12 NV12 NV12 NV12 NV12 X SYS SYS 28-55 1 N/A NIC0 NODE NODE PHB PHB SYS SYS SYS SYS X NODE NIC1 PHB PHB NODE NODE SYS SYS SYS SYS NODE X ``` ## Infiniband This section describes the preparation and check procedures for using InfiniBand. Caution - InfiniBand is available on NVIDIA A100 and H100 GPU servers. - A Fabric Cluster product is required. For more information, see the [Fabric Cluster](/docs/en/server-fabriccluster-vpc) documentation. Note - NVIDIA A100 GPU servers provide 2 InfiniBand HDR interfaces of 200 Gb/s each, for a total bandwidth of 400 Gbps. - NVIDIA H100 GPU servers provide 4 InfiniBand NDR interfaces of 400 Gb/s each, for a total bandwidth of 1,600 Gbps. - [1. InfiniBand prerequisites](/docs/en/server-gpuserver-vpc-kvm#1%EC%84%9C%EB%B2%84%EA%B0%84Infiniband%ED%86%B5%EC%8B%A0%EC%9D%84%EC%9C%84%ED%95%9C%EC%A4%80%EB%B9%84) - [2. Check InfiniBand connection status](/docs/en/server-gpuserver-vpc-kvm#2Infiniband%EC%97%B0%EA%B2%B0%EC%83%81%ED%83%9C%ED%99%95%EC%9D%B8) - [3. InfiniBand connection test](/docs/en/server-gpuserver-vpc-kvm#3%ED%86%B5%EC%8B%A0%ED%85%8C%EC%8A%A4%ED%8A%B8) ### 1. InfiniBand prerequisites The following describes what you need to prepare for infiniband communication between servers: - Install the InfiniBand driver (MLNX_OFED). - Install the [MLNX_OFED](https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/) version that matches your OS. - Ensure all communication target servers are set to **Cluster Mode** before using InfiniBand. - Create a cluster from the **Fabric Cluster** menu, and add the server you want to communicate with to the created Fabric Cluster in Cluster Mode. - For more information on how to set it up, see the [Fabric Cluster](/docs/en/server-fabriccluster-vpc) documentation. ### 2. Check InfiniBand connection status To check the InfiniBand connection status, enter the `ibstat` command and check the port status of the InfiniBand connected to the server. - The normal status for the `Physical state` item is `LinkUp` and that for the `State` item is `Active`. - The `Physical state` item may be displayed as `Polling` status for a short time immediately after server booting, but this is normal because it is in the process of establishing connection. - For NVIDIA A100 GPU servers, `Rate` must be displayed as `200`. ``` [root@test01 ~]# ibstat CA 'mlx5_0' CA type: MT4123 Number of ports: 1 Firmware version: 20.41.1000 Hardware version: 0 Node GUID: 0x88e9a4ffff667b00 System image GUID: 0x88e9a4ffff667b00 Port 1: State: Active Physical state: LinkUp Rate: 200 Base lid: 12 LMC: 0 SM lid: 14 Capability mask: 0xa651e848 Port GUID: 0x88e9a4ffff667b00 Link layer: InfiniBand CA 'mlx5_1' CA type: MT4123 Number of ports: 1 Firmware version: 20.41.1000 Hardware version: 0 Node GUID: 0x88e9a4ffff606426 System image GUID: 0x88e9a4ffff606426 Port 1: State: Down Physical state: Polling Rate: 10 Base lid: 15 LMC: 0 SM lid: 16 Capability mask: 0xa651e848 Port GUID: 0x88e9a4ffff606426 Link layer: InfiniBand ``` ### 3. Test communication You can test the InfiniBand communication between servers through `ibping` and must run both servers working as Client and Server that exchange data. First, check the LID information for the server working as the Server that receives data, and proceed with the `ibping` test. #### 3-1. Check LID information On the server with the Server role, enter the `ibstat` command to check LID information for mlx5_0 and mlx5_1. ``` [root@test01 ~]# ibstat mlx5_0 | grep 'Base lid' Base lid: 210 [root@test01 ~]# ibstat mlx5_1 | grep 'Base lid' Base lid: 209 ``` #### 3-2. Test mlx5_0 To run the mlx5_0 test: 1. Run the `ibping -S -C mlx5_0` command in the server working as the Server. 2. Run the `ibping -c5 -C mlx5_0 -L` {verified mlx5_0 LID value} command in the server working as the Client. ``` 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 5,000 ms rtt min/avg/max = 0.012/0.016/0.027 ms ``` - If the status is normal, the responses to all ping packets are received normally as follows: #### 3-3. Test mlx5_1 To run the mlx5_0 test: 1. Run the `ibping -S -C mlx5_1` command in the server working as the Server. 2. Run the `ibping -c5 -C mlx5_1 -L` {verified mlx5_1 LID value} command in the server working as the Client. ``` 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 5,000 ms rtt min/avg/max = 0.009/0.013/0.024 ms ``` - If the status is normal, the responses to all ping packets are received normally as follows: #### 3-4. Set up IP over InfiniBand (IPoIB) To set up IPoIB, see [NVIDIA's IPoIB configuration guide](https://docs.nvidia.com/networking/display/mlnxofedv583070lts/ip+over+infiniband+%28ipoib%29#src-132449116_safe-id-SVBvdmVySW5maW5pQmFuZChJUG9JQiktSVBvSUJDb25maWd1cmF0aW9u).