/index.md. The full docset is at /llms-full.md and the index is at /llms.md.Quickstart
C3 brings GPU compute to academics. Configure your project with a simple .c3 file, and C3 handles provisioning GPUs from multiple data centers so you get compute when you need it, at competitive prices.
Install the CLI
curl -fsSL https://cthree.cloud/install.sh | sh
Then authenticate:
c3 login
This opens your browser to sign in. Credentials are stored locally in ~/.c3/.
Verify your email address after signing in. Service commands such as jobs,
billing, data, and API key management require a verified email; unverified
accounts receive EMAIL_VERIFICATION_REQUIRED until verification is complete.
If you miss the first email, interactive CLI commands offer to resend it when
blocked, and you can also run c3 verify-email.
Run your first job
Clone the examples repo and run a GPU benchmark:
git clone https://github.com/c3-research/c3-examples.git
cd c3-examples/jax-matmul
The example includes this .c3 config:
# .c3
project: jax-matmul-example
script: run.sh
time: "00:10:00"
job_name: jax-matmul
python:
project: ./
output:
- ./results
The script field points to a bash script with your execution commands:
# run.sh
#!/bin/bash
python3 train.py
This quickstart uses a Python environment; for Bash-only or Docker environments, see Environment.
Now deploy:
c3 deploy
C3 provisions a GPU, installs your Python dependencies, runs your script, and uploads the results. See Project Configuration for how each field works.
Check status and download results
Monitor your job:
c3 squeue
JOB ID PROJECT STATUS SUBMITTED GPU
job_abc123 jax-matmul-example RUNNING 2024-01-15 10:30:00 l40
You can also view your jobs in the web dashboard.
c3 squeue and the dashboard show current lifecycle activity while a job is
waiting, provisioning, staging inputs, or uploading outputs. c3 deploy -f
streams job status and the latest attempt logs. If a job fails, user-fixable
errors show the next action; infrastructure/provider errors show a report code
for C3 support instead of raw internal details.
Once complete, pull the results:
c3 pull job_abc123
Your output files are downloaded to ./job_abc123/results/.
Add a dataset
For jobs that need larger data, upload it to C3's storage once and mount it into any job:
c3 data cp ./my-data/ /datasets/my-data/
Then reference it in your .c3:
datasets:
- ref: /datasets/my-data # the remote path you uploaded to
mount: /data/my-data # where it appears on the GPU
Your script reads from /data/my-data as if the files were local. See Data Mounting for details.
Start a new project
Create a .c3 config for your own project:
cd my-project
c3 init
Edit the .c3 file to set your GPU, time limit, and script (a bash script with your execution commands), then deploy with c3 deploy.
Next steps: Learn about project configuration for all .c3 options, data mounting for working with datasets, artifact output for collecting results, environment for Python, Docker, and Bash environment modes, or browse the marketplace to see available GPUs and pricing.