Simulo treats learning as the primary abstraction: environments, robots,
sensors, policies, training, evaluation, and visualization compose into one
reproducible, cloud-executed workflow. A small set of stable concepts covers
every app you write.
You write against the bare, top-level simulo.* names — simulo.App,
simulo.Task, simulo.Scenario, simulo.Runtime, and so on. On your
machine these names are lightweight, torch-free declarations, which is why
authoring and submitting an app needs no GPU and no heavy install; on the
Simulo cloud’s GPU workers, the same names are the full Simulo GPU-runtime
implementations that run your job. Your code doesn’t change between the two.
Start with App & Jobs — it walks the full path from simulo run to a
job running on a cloud GPU. The rest can be read in any order.
App & Jobssimulo.App bundles your code with its runtime; each @app.job function is a unit of work. How simulo run turns your file into a job on a cloud GPU.
Scene, Robot, Prop & WorldBuild a scene with robots, movable props, generated terrain, or a world you bring, then choose what is copied into each environment.
Tasks & the RL Loopsimulo.Task defines the learning problem — observations, rewards, terminations, resets. LearningEnv vectorizes it; RLTrainer trains it; RLPlayer plays it back.
Scenariossimulo.Scenario is a scripted simulation with no learning: you build a scene and drive it with your own control law, one physics step at a time.
RuntimesSimulo provides fully-provisioned runtimes your jobs execute in — the default just works, app.runtime.imports() defers heavy imports to the worker, and pip_install()/env() layer on your own public-PyPI packages and env vars.
System Typesapp.job(system=...) requests one of four published GPU tiers by name — what each tier is, what's available today, and what the selection actually does.
Asset Catalogs & Version PinningPublish and validate robots, worlds, and props; resolve catalog refs to immutable versions; keep every job's inputs reproducible.
Asset ValidationRead structural, schema, conversion, settle, and actuation results without confusing reports with measured asset facts.
Volumes & Assetssimulo.Volume is durable read-write storage jobs share. simulo.Asset is a read-only catalog handle pinned at submit.
CallbacksLifecycle behavior declared per job: ResumableCheckpoint saves and promotes checkpoints, CommitVolume persists outputs, DebugOnAnomaly captures evidence when training misbehaves.
Jobs Lifecycle & the Org WorkspaceFollow a job from queued to finished, find its outputs, and switch from your own jobs to your organization's shared view when you need it.
Recordings & Live ViewstreamMCAP flight recordings you download and inspect after a run, and the live 3D viewport simulo view opens while the job is still running.