Skip to content

Self-hosted CI runner with GPU #1267

Open

Description

@LourensVeen

Is your feature request related to a problem? Please describe.
The CI can't run any GPU tests because the free resources on GitHub don't have GPUs. Also getting MPI to work in there isn't easy. It would help if we set up a local machine in Leiden with a runner.

Describe the solution you'd like
A machine in Leiden that runs CI jobs, in a VM for security and in a Docker container for reproducibility. Try to make it robust and to minimise maintenance needs.

Describe alternatives you've considered
External hosting, but that's difficult to pay for. Easier to find an old machine with a GPU in it and spend time rather than money.

Activity

  1. self-assigned this
    on May 19, 2026
  2. moved this from Backlog to In progress in Development Boardon May 19, 2026
  3. LourensVeen commented on May 19, 2026

    @LourensVeen
    MemberAuthor

    @DavidJJansen set up a machine with an OS and access for me, so now we just need to install all the software. It's running RHEL 9, has 4 cores and 16 GB of RAM, and an nVidia Quattro T400 GPU.

    For the VM, I think I'll do some kind of Red Hat-based OS too, Rocky or Alma, to keep things consistent and probably make it easier to map the GPU into the VM.

    I've used Ansible before for setting up machines and liked it, and it's owned by Red Hat now so should integrate well. I also used Vagrant to make VMs then, but I did not like that and we don't have many VMs, so I'll stick with a shell script for (re)creating the VMs.

    Then we probably need Docker and the GitHub runner software, and we need to integrate that with the rest and with the GitHub servers.

  4. LourensVeen commented on Jun 30, 2026

    @LourensVeen
    MemberAuthor

    Well, it seems to be running. There's a private repository at https://github.com/amusecode/amusebuilder with all the scripts in it. Jobs run inside of an ephemeral VM, and there's some automation and security hardening to keep it all under control.

    Still to do:

    • Set up workflows for the GPU codes
    • Move the weekly Linux all-up builds to amusebuilder
    • Add a VM for Torch (with @astro-ericand)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

kind: feature requestThe issue requests a feature that AMUSE does not currently have

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions