GPU Support

Basic Information

SWITCHengines gives you the ability to get more out of your data using Nvidia GPUs. Different GPU models are available and can be selected on demand.  

GPU Activation

GPUs need special activation through https://engines.admin.switch.ch/. Access need to be granted on the project where you would like to start your GPU instance.

  • Select project
  • Click "Modify"
  • Select the GPU models "Available Flavor Types"
    • Note: Here, you also see the SWITCHengines GPU pricing

This grants the project access to the specified GPU types. Mainly, you will see the g1 flavors in the SWITCHengines dashboard or via the CLI using:

openstack flavor list

GPU Capacities

In the past years, GPUs became more and more popular in research as well as in industry applications. Therefore, we added GPU hypervisors to fulfill these customer requests. Nevertheless, we have limited GPUs available in our data center that will naturally grow with the amount of customer requests we get.

GPUs are limited to the Zurich(ZH) region where the following GPU models are installed: 

GPU Model Available GPUs
Nvidia Tesla P100 2
Nvidia Titan XP 8
Nvidia Tesla T4 16

This GPU selection can change over time and we are open for adding new GPUs by request. A short mail to engines-support@switch.ch gets you in contact with an appropriate engineer.

Provision Your GPU Instance

GPU instance provisioning is as simple as provisioning a non-GPU instance!

Please follow these steps:

  • Assure that your project have the GPU flavors activated. See section "GPU Activation"
  • Login to https://engines.switch.ch/
  • Go to: Project → Compute → Instances → "Launch Instance"
    • Details: Specify instance name
    • Source:
      • Select Boot Source: Image
      • Select "Ubuntu Bionic 18.04 (SWITCHengines)" or "Ubuntu Focal 20.04 (SWITCHengines)"
    • Flavor: Select appropriate g1 flavor, see Flavors
    • Networks: Select a network (e.g. "private")
    • Security Groups: Select security groups (e.g. "ssh")
    • Key Pair: Select a key pair
  • Launch Instance
  • Optional IPv4:
    • Project → Compute → Instances → ∨ ("Instance Menu")
    • Associate Floating IP

The instance is scheduled and is being built by SWITCHengines. 

Note:

Status=Error
Error Message: No valid host was found. There are not enough hosts available.

This error signalizes that there was no available GPU found for the specified flavor. Please contact engines-support@switch.ch, we will find a solution for you. 

Install Nvidia Drivers

Once the instance is up and running, connect to the instance:

ssh -l ubuntu PUBLIC_IP

Great! You have a running instance with a GPU.

We simplified the installation of the Nvidia Drivers for you. You can execute:

# as root (with sudo) run:
ubuntu@focal:~$ sudo lspci | grep -i nvidia
ubuntu@focal:~$ sudo /usr/local/bin/ubuntu-install-gpu-deps.sh

# Wait until the instance has rebooted.
ssh -l ubuntu PUBLIC_IP

ubuntu@focal:~$ nvidia-smi

# Run Tensorflow that uses the GPU.
ubuntu@focal:~$ sudo docker run --gpus all -it --rm tensorflow/tensorflow:latest-gpu python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

Now, you are ready to start! 

For your information: The above installation script follows the recommended instructions given in:

  1. https://www.tensorflow.org/install/gpu
  2. https://www.tensorflow.org/install/docker
  3. https://github.com/NVIDIA/nvidia-docker/wiki/Frequently-Asked-Questions#how-do-i-install-the-nvidia-driver 
  4. https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html