Start here
Your first experiment
Connect your client, submit a real Slurm run and keep its results.
On this page
A little preparation
Matilda Train connects your research client to Australian compute. You can prepare files, launch Slurm jobs, monitor training and inspect results through MCP. The website handles your identity and client connections.
Get access
Sign in with Matilda or create an account; no invitation is needed. Use your personal workspace or join your company’s team with an invitation. Add compute credits in Billing before a paid run.
Connect your client
Follow Connect your research client. Add the remote server URL and complete Matilda sign-in.
Choose funding and start small
Ask the client to check research_profile and research_workspaces, choose the paying workspace and request a quote for a tiny allocation.
The call-request form shows a confirmation when your enquiry is received. If submission fails, your details stay in the form so you can retry. You can also contact hello@maincode.com.
Run a tiny, real job
Check my Matilda Train profile and available workspaces. Confirm which workspace should pay. Prepare a batch run named My first experiment with 1 CPU, 4096 MiB memory, 5 minutes and 1 GPU. Have it print a greeting, write a JSON metric and save a result in MATILDA_RUN_DIR. Request research_quote for those resources and the selected organization_id, show me the maximum cost and available credits, then submit once using that rate_card_id and maximum_micros as maximum_charge_micros. Monitor it to completion.The client uses research_validate to check limits and research_submit to create the run. Credits must cover the maximum allocation cost; only actual allocated seconds are charged and unused credit returns after final accounting. Every submission has a UUID request_id. If a connection drops, retry exactly the same request ID and arguments to recover the existing run.
python3 - <<'PY'
import json, os
from pathlib import Path
output = Path(os.environ["MATILDA_RUN_DIR"])
print("Hello from my Slurm allocation", flush=True)
(output / "metrics.jsonl").write_text(json.dumps({"step": 1, "result": 42}) + "\n")
(output / "result.txt").write_text("hello research\n")
PYRead the output. Keep the result.
Follow run state
research_run returns the native job state, Slurm number and suggested polling interval. Closing the chat does not stop a submitted run.
Read logs and metrics
research_logs returns a bounded log page. Keep its next_offset for the next read. research_metrics reads complete JSON records from the run’s metrics.jsonl.
Find your outputs
research_artifacts lists the run directory. Ask the client to inspect result.txt, or use the authenticated download endpoint for binary artifacts.
Run outputs live under runs/<run-id> in your persistent workspace. They remain after compute is released, subject to your account’s hard storage quota.