// QUICKSTART

Quickstart

From sign-in to a shell on a cloud GPU, then back to zero spend. Every step works in the console with buttons; the commands below do the same from your terminal with the matmul CLI.

1. Sign in

Sign in at app.matmul.cloud. MatMul is in early access, so a new account can land on a waitlist page until it's approved. Once you're in, the console creates an organization for you and makes you its owner.

2. Install the CLI and log in

You need Python 3.9 or newer. The package has no dependencies.

pip install matmul-cloud
matmul login

Your browser opens the console. Check that it shows the same code as your terminal and click Authorize this CLI. The CLI saves a new API key to ~/.config/matmul/config.json with owner-only permissions. Over SSH it prints a link to open on any device instead. The key belongs to you and carries your role in the organization. (Browser login needs a matmul-cloud release after 0.1.0.)

With 0.1.0, or in CI: open CLI & API in the console and click Create key. The key (it starts with lmk_) is shown once. Set it as MATMUL_API_KEY, or save it:

matmul login --api-key lmk_... --url https://api.matmul.cloud

3. Add credit

MatMul is prepaid. Add credit on the Billing page, or get a Stripe checkout link from the terminal and open it in your browser:

matmul billing add-credit --usd 20
matmul billing balance

The smallest top-up is $10. New accounts start with lower limits (see Pricing & billing). Only the organization's owner can see the balance and add credit.

4. Register your SSH key

Machines accept only the public keys you've registered.

matmul ssh-key add          # uploads ~/.ssh/id_ed25519.pub (then id_ecdsa, id_rsa)
matmul ssh-key ls

No key yet? ssh-keygen -t ed25519 makes one. Use --file for another key and --name to label it. In the console it's the SSH keys page.

5. Find a GPU

matmul offers --gpu H100
matmul offers --gpu L40S --max-price 2.5     # at or under $2.50/hr
matmul offers --gpu A100 --count 2           # machines with 2x A100

Offers come from live supply across providers, cheapest first, priced per machine-hour. The price you see is the price you're billed. What's available changes minute to minute. The console's Launch page shows the same list.

6. Launch

Leave out --image for the provider's plain VM (Ubuntu with the NVIDIA driver and container toolkit; it doesn't include the CUDA toolkit, so use a nvidia/cuda:*-devel image if you need nvcc):

matmul instance create --name dev --gpu H100 --max-price 3 --wait

Or run a Docker image on the machine, with the GPUs available to it:

matmul instance create --name nb --gpu H100 --max-price 3 \
  --image pytorch/pytorch:latest --keep-alive --wait

To launch one particular machine from step 5 instead of the cheapest, pass its id from the OFFER ID column, with its price as the guard:

matmul instance create --name dev --offer <OFFER_ID> --max-price <PRICE> --wait

You need at least one hour of runway at the offer's price to launch. Every flag is in the CLI reference.

7. SSH in

matmul ssh dev
matmul ssh nb                    # inside the container (it has an image)
matmul ssh --host nb             # the VM underneath
matmul ssh dev -- nvidia-smi     # run one command

Put --host before the instance name. The CLI reference covers running commands and scripts over matmul ssh.

For plain ssh, scp or your editor's remote mode, use the raw SSH command that --wait, matmul instance get dev and the instance's page in the console show.

8. Terminate it

An instance bills until you delete it, whether or not you're using it. Copy your results off first: the disk goes with the machine.

matmul instance rm dev
matmul instance ls               # running time and cost so far

What happens when credit runs out

Details, limits and the ledger are in Pricing & billing.

Next

← All docs