Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support nvidia cuda ubuntu docker images #2015

Open
raywonkari opened this issue Nov 14, 2022 · 8 comments
Open

Support nvidia cuda ubuntu docker images #2015

raywonkari opened this issue Nov 14, 2022 · 8 comments
Labels
enhancement New feature or request

Comments

@raywonkari
Copy link

What would you like added?

Feature request to add more docker images with Nvidia cuda specific ubuntu version as the base image. For example: nvidia/cuda:11.4.2-devel-ubuntu20.04. Currently, the base image is set to ubuntu:20.04.

Why is this needed?

This would help teams making use of the runners to run workloads based out of Nvidia cuda. This will save lot of time and efforts to keep these custom images updated.

Additional context

Currently we have forked this repo, and have created our custom docker image, but this would mean we should continuously update these custom images as the original actions-runner-controller is updated. If we can keep these images in the original actions-runner-controller, the images are automatically update to date.

We can definitely help create a PR introducing these custom docker images, by adding new dockerfile's and plug that into the existing CI. Please let us know if you would like us to do so.

@raywonkari raywonkari added the enhancement New feature or request label Nov 14, 2022
@github-actions
Copy link
Contributor

Hello! Thank you for filing an issue.

The maintainers will triage your issue shortly.

In the meantime, please take a look at the troubleshooting guide for bug reports.

If this is a feature request, please review our contribution guidelines.

@ddelange
Copy link

ddelange commented Jan 9, 2023

- FROM ubuntu:20.04
+ FROM nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu20.04

would be something to do in a fork and serve from there...

@ddelange
Copy link

ddelange commented Jan 9, 2023

or would you say devel is a necessity? isn't it unnecessary dockersize of just a bunch of headers a user could install on the fly from preconfigured apt if needed? versioning of cudnn is iffy (see their dockerfiles) so I personally would opt for the first one below:

$ dockersize nvidia/cuda:11.7.1-cudnn8-runtime-ubuntu20.04
linux/arm64  1.58G
linux/amd64  1.62G
$ dockersize nvidia/cuda:11.7.1-cudnn8-devel-ubuntu20.04
linux/arm64  3.42G
linux/amd64  3.48G
$ dockersize nvidia/cuda:11.7.1-runtime-ubuntu20.04
linux/arm64  1.06G
linux/amd64  1.10G
$ dockersize nvidia/cuda:11.7.1-devel-ubuntu20.04
linux/arm64  2.35G
linux/amd64  2.41G

@ddelange
Copy link

ddelange commented Jan 9, 2023

Added a commit on my fork doing a search and replace to achieve the above diff just in time:
master...ddelange:actions-runner-controller:master ddelange/actions-runner-controller-releases@actions-runner-controller:releases:main...main

Now pushing images with CUDA base to docker.io (ref) and ghcr.io (ref) in addition to regular summerwind/actions-runner:

$ dockersize ddelange/actions-runner:ubuntu-20.04
linux/amd64  1.92G
linux/arm64  1.83G
$ dockersize ddelange/actions-runner:ubuntu-22.04
linux/amd64  1.85G
linux/arm64  1.75G
$ dockersize ghcr.io/ddelange/actions-runner-controller-releases/actions-runner-dind-rootless:ubuntu-20.04
linux/amd64  1.99G
linux/arm64  1.89G
$ dockersize ghcr.io/ddelange/actions-runner-controller-releases/actions-runner-dind-rootless:ubuntu-22.04
linux/amd64  1.92G
linux/arm64  1.82G

...

@ddelange
Copy link

cc @Link-

ddelange referenced this issue in actions-runner-controller/releases Jan 16, 2023
@ddelange
Copy link

ddelange commented Jan 16, 2023

update: since the release flow was refactored ref ddelange#1, I removed the commit I mentioned above, and instead added it here ddelange/actions-runner-controller-releases@actions-runner-controller:releases:main...main

edit: reflected this change in the previous comment

ddelange referenced this issue in ddelange/actions-runner-controller-releases Jan 16, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Jan 17, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Jan 17, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Jan 17, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Jan 17, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Jan 17, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Jan 17, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Jan 17, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Jan 24, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Jan 26, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Feb 20, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Feb 20, 2023
ddelange added a commit to ddelange/actions-runner-controller-releases that referenced this issue Feb 20, 2023
@neumann-nico
Copy link

@ddelange Thanks for your awesome work!
Are you going to continue to update your Nvidia image?
Looks like it stopped a while ago

@ddelange
Copy link

Hi @neumann-nico 👋

I pulled master and manually triggered a build: https://github.com/ddelange/actions-runner-controller-releases/actions

Lets see if the daily cron kicks in again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants