Enabling GPU sharing on a Linux Amazon DCV Server
With GPU sharing, you can share one or more physical GPUs between multiple Amazon DCV virtual sessions. For more information about sessions, see Managing Amazon DCV sessions. Using GPU sharing, you can use a single Amazon DCV server and host multiple virtual sessions that share the server's physical GPU resources.
Note
GPU sharing is only supported on Linux Amazon DCV servers.
Prerequisites
Before you begin, complete the following prerequisites:
-
Install the Amazon DCV server on a Linux server.
-
Install the Amazon DCV
dcv-gl
andnice-Xdcv
packages on the server. -
Ensure that the server has at least one supported NVIDIA GPU.
-
Install the NVIDIA GPU driver on the server. The official NVIDIA drivers are required. The open-source NVIDIA drivers aren't supported.
-
Ensure that the NVIDIA GPU driver supports hardware-accelerated OpenGL.
-
Install an X Server and configure the
Device
andScreen
sections in thexorg.conf
file.Note
You can use the
nvidia-xconfig
NVIDIA utility to automatically create anxorg.conf
file and configure it for all the available NVIDIA GPUs. -
Ensure that the X Server is running.
-
(Optional) Verify the Amazon DCV server configuration by running the
dcvgldiag
tool. For more information, see Performing post-installation checks.You can also install the
nice-dcv-gltest
package and run thedcvgltest
test application to check if the server is properly configured for GPU sharing.
To enable GPU sharing, you must specify the list of GPUs to be used by the virtual sessions. If you don't specify the GPUs, only the GPU used
by the standard X Server, with the display name :0.0
, is used.
Specify the GPUs in the gl-displays
parameter in the dcv.conf
file after you complete the prerequisites that are
described earlier in this topic.
To enable GPU sharing on a Linux Amazon DCV server
-
Navigate to
/etc/dcv/
and open thedcv.conf
file with your preferred text editor. -
Add the
[display/linux]
section and thegl-displays
parameter. Then, specify the available GPUs in the following format:[display/linux] gl-displays = [':
xserver_port
.screen_number_1
',':xserver_port
.screen_number_2
', ...]Where
xserver_port
is the server andscreen_number
is the number that's associated with the screen related to the GPU.screen_number
starts from0
.The following example shows the
gl-displays
parameter for two GPUs running on the default X Server session:[display/linux] gl-displays = [':0.0',':0.1']
-
Save and close the file.