qsim icon indicating copy to clipboard operation
qsim copied to clipboard

Modify CI tests to support GPU and AVX512

Open 95-martin-orion opened this issue 3 years ago • 4 comments

Self-hosted runners guide

Using self-hosted runners (e.g. on Google Cloud) would give us the ability to test qsim with AVX512 instructions and (eventually) GPU support - neither of which is currently possible with the default Github Actions runners.

95-martin-orion avatar Jun 18 '21 19:06 95-martin-orion

Unfortunately, the Alphabet enterprise does not have its own self-hosted Github Actions runners, and current guidance prohibits the use of individually-configured self-hosted runners for public Github repositories. The recommended alternative (for the time being) is to use Kokoro for these tests.

95-martin-orion avatar Jun 23 '21 17:06 95-martin-orion

Hi @95-martin-orion I am the creator of Cirun.io, "GPU support" and "Self-hosted" caught my eye.

FWIW I'll share my two cents. I created a service for problems like these, which is basically running custom machines (including GPUs) in GitHub Actions: https://cirun.io/

It is used in multiple open source projects needing GPU support like the following:

  • https://github.com/pystatgen/sgkit/
  • https://github.com/qutip/qutip-cupy

It is fairly simple to setup, all you need is a cloud account (AWS or GCP) and a simple yaml file describing what kind of machines you need and Cirun will spin up ephemeral machines on your cloud for GitHub Actions to run. It's native to GitHub ecosystem, which mean you can see logs/trigger in the Github's interface itself, just like any Github Action run.

Also, note that Cirun is free for Open source projects. (You only pay to your cloud provider for machine usage)

current guidance prohibits the use of individually-configured self-hosted runners for public Github repositories.

Since, Cirun creates ephemeral machines, this is not a problem.

aktech avatar Jun 30 '21 18:06 aktech

Hi @aktech! Thanks for your recommendation, and for showing an interest in qsim. Unfortunately, we won't be able to make use of Cirun here as Google policy prevents us from using third-party applications on Github.

95-martin-orion avatar Jul 01 '21 15:07 95-martin-orion

As demonstrated in #383, GPU testing is now covered in Kokoro.

95-martin-orion avatar Jul 27 '21 18:07 95-martin-orion