Tutorial#
The Quickstart showed the mechanics of a single recorded command. This tutorial walks you towards a real experiment, built from beginning to end, around a real program: julia-fractal, a small C++ renderer for Julia-set fractals. We start with a plain command that tries to run it and turn it, step by step, into a Spack-backed, MPI-parallel, fully recorded experiment. Along the way you use setups, jobs, apps, and the query and provenance surfaces together on a single realistic workload.
The tutorial comes in two parts:
Part I — The guided tour — the essential. It builds the experiment end to end, from a plain command to a Spack-backed, MPI-parallel, recorded workload running on a supercomputer, introducing exactly one new concept per step.
Part II — Refining the experiment — a refinement pass over the same experiment. It follows the same setup→run order and, section by section, improves each piece with a Knit capability that makes it cleaner, safer, or more reproducible.
- Part I — The guided tour
- The program
- Step 1 — A command that calls the program
- Step 2 — A setup that builds the program
- Step 3 — Submit it as a job
- Step 4 — MPI in the setup
- Step 5 — Launch it in parallel with
knit run - Step 6 — Query and aggregate the results
- Step 7 — Ask your experiment in natural language
- Step 8 — Inspect and manage what you have built
- Step 9 — Move to a real HPC machine
- The complete experiment (Part I)
- Part II — Refining the experiment
- Step 1 — Resources: fetch the source instead of cloning it
- Step 2 — Parameter sets: declare the shared parameters once
- Step 3 — Enums: make
colormapa validated type - Step 4 — File output: record the PNG as a checksummed intermediate
- Step 5 — Results and artifacts: record the table as a result artifact
- Step 6 — Prepare: build a batch of runs, release them on your terms
- Step 7 — Remove: erase recorded entities and their dependents
- Step 8 — Bundle: ship the finished experiment
- Step 9 — Querying across machines
- The complete experiment (Part II)