Reproducible workflows

Take a working experiment to a cluster, and make the result reproduce on someone else’s machine a year later.

A model that runs on a laptop still has to survive a parameter sweep, a scheduler, and somebody else’s machine a year from now. Those are three different problems, and TVB-O separates them.

Running here and running there is a dispatch problem: the same specification, executed by a workflow engine instead of in-process. Reproducing it later is a packaging problem: the emitted kit carries the frozen spec, the frozen backend script and its environment, so it runs without TVB-O installed at all.

Emitting work

Deciding how work is split

The same study YAML produces a different job graph on different backends, because the planner asks each backend what it can vectorize internally and fans out only what it cannot. How code generation works covers where those declarations come from, and Run on a backend is the capability table itself.

Shipping the result

Code generation & export renders an experiment to standalone JAX, Julia, CUDA, LEMS, BIDS or openMINDS. The study directory is where a run’s code, results and provenance land, in a layout tvbo validate study can check.

Reference

WorkflowConfig · ExecutionConfig · tvbo workflow.