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¶
Modal¶
✅ #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.
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.
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:
- Chose
AWS Deep Learning AMI GPU PyTorch 2.4 (Ubuntu 22.04)
or similar! - No extra configuration needed, install the projects and continue
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.