CosmicAC Logo

GPU Container Job

What a GPU Container Job is, when to use one, and how you work with it.

A GPU Container Job gives you a KubeVirt virtual machine instance (VMI) with one or more whole GPUs. You open a shell into the VMI and use it like a remote machine, installing what you need and running your code.

When to use one

A GPU Container Job fits when you want shell access to a GPU. Common tasks include training and fine-tuning models, running experiments, and processing data.

If you only want to call a model over an API, a Managed Inference Job is the better fit. It serves the model for you, so you don't set up the environment yourself.

What you get

  • Shell access into the VMI — an interactive session for installing what you need and running your code.
  • Dedicated GPU — one or more whole GPUs passed through to your job.
  • Root disk — persistent storage that holds your data across restarts, sized at creation.
  • Clean environment — a base OS image that you choose at creation.
  • VM-level isolation — a separate VMI for each job.

How it works

When you create a GPU Container Job, CosmicAC allocates the GPUs the job needs and creates the job's VMI. The VMI boots on a node in your cluster and claims its GPUs through passthrough. Once it is running, you access it through a shell.

Restarting the job replaces its VMI but keeps its storage and resources. Deleting the job removes its VMI, resources, and storage.

Deleting a job permanently removes its root disk. Before you delete a job, copy everything you want to keep.

See Architecture for how a job flows through the CosmicAC components.

How you connect

You connect to a running job in two ways:

  • CLI shell — the CLI gives you shell access to the VMI, like any remote machine.
  • SSH over Tailscale — Tailscale gives you longer-lived access to the VMI from your local machine, after you set it up.

Either way, you run scripts, start processes, and inspect output directly.

Next steps

On this page