View on GitHub

deepracer-for-cloud

Creates an AWS DeepRacing training environment which can be deployed in the cloud, or locally on Ubuntu Linux, Windows or Mac.

GPU Accelerated OpenGL for Robomaker

One way to improve performance, especially of Robomaker, is to enable GPU-accelerated OpenGL. OpenGL can significantly improve Gazebo performance, even where the GPU does not have enough GPU RAM, or is too old, to support Tensorflow.

Desktop

On a Ubuntu desktop running Unity there are hardly any additional steps required.

Before running dr-start-training/dr-start-evaluation ensure that DR_DISPLAY/DISPLAY and XAUTHORITY are defined.

Check that OpenGL is working by looking for gzserver in nvidia-smi.

If DR_GUI_ENABLE=True then the Gazebo UI, rviz and rqt will open up in separate windows. (With multiple workers it can get crowded...)

Remote connection to Desktop

If you want to start training or evaluation via SSH (e.g. to increment the training whilst you are on the go) there are a few steps to do:

Remark: Setting DISPLAY will lead to certain commands (e.g. dr-logs-sagemaker) starting in a terminal window on the desktop, rather than the output being showhn in the SSH terminal. Use of DR_DISPLAY is recommended to avoid this.

Headless Server

Also a headless server with a GPU, e.g. an EC2 instance, or a local computer with a displayless GPU (e.g. Tesla K40, K80, M40).

This also applies for a desktop computer where you are not logged in. In this case also disconnect any monitor cables to avoid conflict.

Start up the X server with utils/start-xorg.sh.

If DR_GUI_ENABLE=True then a VNC server will be started on port 5900 so that you can connect and interact with the Gazebo UI.

Check that OpenGL is working by looking for gzserver in nvidia-smi.

WSL2 on Windows 11

OpenGL is also supported in WSL2 on Windows 11. By default an Xwayland server is started in Ubuntu 22.04.

To enable OpenGL acceleration perform the following steps:

If you want to interact with the Gazebo UI, set DR_DOCKER_STYLE=compose and DR_GUI_ENABLE=True in system.env.