Skip to content

Cloud

Cloud providers are a great way to run the projects without the need of a powerful machine, to have a dedicated server for it, or scale up the usage. Naturally, there are a lot of providers to rent hardware from, with quirks and differences between them.

Getting OpenGL GPU acceleration to work is the trickiest part; if it's not listed here, you could try following the Docker page of what needs to happen. Consider improving this!

  • Note: When the GPU is not used in OpenGL, llvmpipe (CPU) device will be used. Rendering speeds will be abysmal, in the order of seconds per frame, avoid at all costs.

  • Note: The examples below are only for properly setting up the environment for the projects to run. Continue after with any project's installation or usage for more.

  • No conclusions, grading and guides are final, and can fail or be improved at any time.

Loving what you see? Help me continue this Full-Time Open Source Work!

Works

✅   #notsponsored • 🌐 Website⭐️⭐️⭐️⭐️⭐️ (5.0/5.0) • Works out of the box

  • Must use NVIDIA T4 GPU as it's the only one exposing OpenGL through EGL.
  • Nicely integrates with Python scripts, plenty free credits, good docs.

Example Script

Runpod

Pods

✅   #notsponsored • 🌐 Website⭐️⭐️⭐️ (4.5/5.0) • Minor fixes within user's reach

  • Rent any pod with Nvidia GPUs (L4/T4 or cheapest should be enough)
  • Template: runpod/pytorch:2.2.0-py3.10-cuda12.1.1-devel-ubuntu22.04

After having access to a terminal, run the following:

# Installs required packages, adds the NVIDIA as a EGL vendor device
apt update && apt install -y libegl1-mesa libglvnd-dev libglvnd0
mkdir -p /usr/share/glvnd/egl_vendor.d
echo '{"file_format_version":"1.0.0","ICD":{"library_path":"/usr/lib/x86_64-linux-gnu/libEGL_nvidia.so.0"}}' > /usr/share/glvnd/egl_vendor.d/10_nvidia.json
export __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/10_nvidia.json
  • Install the projects and continue as usual

For more context, see this GitHub comment of mine.

Serverless

✅   #notsponsored • 🌐 Website⭐️⭐️⭐️ (3.5/5.0) • Minor fixes within user's reach

  • Same as above, very annoying to push new docker images every time, weird api, but works.

Google Colab

✅   #notsponsored • 🌐 Website⭐️⭐️⭐️⭐️ (4.0/5.0) • Minor changes needed

  • ⚠️ Important: Colab disallows WebUI usage in their free plan.
  • Some recent update added EGL support, didn't work previously.

Example Notebook

Unknown

Replicate

❓   #notsponsored • 🌐 Website☆☆☆☆☆ (0.0/5.0) • No OpenGL and Pydantic version conflict

  • I am using Pydantic version 2 for at least a couple of months, but they're stuck on v1.0 in cog and injecting on the environment for a good while, making it a dependency conflict hard to solve at runtime.

  • Not only that, when I tried plain moderngl for OpenGL, I couldn't get GPU acceleration to work.

It's been a while since I tried it, it's probably possible to get it to work with some effort.

Amazon EC2

❓   #notsponsored • 🌐 Website☆☆☆☆☆ (0.0/5.0) • Reportedly works out of the box

Based on a single user report without proof:

Google Cloud

❓   #notsponsored • 🌐 Website☆☆☆☆☆ (0.0/5.0) • Minor changes needed

Based on a single user report without proof:

  • Goes mostly smooth by following the base dockerfiles, reportedly works with GPU Acceleration.

Inferless

❓   #notsponsored • 🌐 Website☆☆☆☆☆ 0.0/5.0 • No OpenGL acceleration?

A community member reportedly ran it basing off my main dockerfile, and OpenGL acceleration didn't work.

  • I don't have any more information or if this is true.

Beam Cloud

❓   #notsponsored • 🌐 Website☆☆☆☆☆ 0.0/5.0

It's been a while since I tried it, but don't remember getting it to work.