gitpod-io / gitpod-io/gitpod

Epic: GPU Support on SaaS

Open
#10,650 6 comments 16 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

meta: never-stale segment: data-science size/M team: workspace type: epic user-interview (discovery)
Dominant language
TypeScript
Stars
13.8k
Forks
1.4k
Avg merge
17h 58m
Merged PRs (30d)
5

Description

Callout: Hey 👋 Are you interested in this feature? I would be interested in talking to you: https://calendly.com/andre-gitpod/15-minute-product-feedback


We want to fully support GPUs to enable different workloads, such as data science, particularly on self-hosted installations.

Open questions:

  • Would we be able to dynamically assign GPUs to workspaces? Not right now
  • Would we be able to share one GPU between multiple workspaces? Preferably not right away, given performance and security concerns [video]
  • Would we be able to support all types of GPUs or would need to select a subset? What subset? Given the focus on SaaS, we will just pick one and go with that.
  • Are we able to confidently release GPU support for self-hosted without launching it also on SaaS? No
  • Is there a limitation on what and how many GPUs you can attach to a given instance type? We will need to research, maybe there are. Depending on that we might want one workspace per node, or multiple workspaces per node with multiple GPUs.

Options:

  • Just another class — We don't share GPUs across workspaces. We have a separate node pool / workspace class that has a defined workspace density, which equals the number of GPUs. We would launch on SaaS first, as we need to

Concerns:

  • Workspace classes are hard-coded in server. Probably resolved in #8261.
  • The user will have to keep on changing their user settings to use GPUs or not. We should have workspace class project setting. And in the future, it might make sense to allow Data Scientist to select whenever they open the workspace or inside the workspace.

Dependencies:

  • (for self-hosted) Self-hosted will need to be able to configure multiple workspace classes.
  • (Preferably) Per project workspace class setting.
  • (Must) Possibility of scaling a node pool to zero.

Things we know we will have to do:

Related request: https://github.com/gitpod-io/customers/issues/24

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing issue #8396 and the existing fuse-device work referenced in the issue. Then investigate workspace classes, multiple self-hosted workspace classes, project workspace settings, and node-pool scaling constraints. Done would require a defined GPU-support design covering SaaS and self-hosted installations, including GPU device mounting and the listed dependencies.

Written by the indexing model from the issue text.

Assessment

Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.