API Guide

The explicit logging-free program and objective API is described in Explicit programs and objectives. Serializable execution intent and local executor preflight are described in Run plans and local execution; versioned durable solver state is described in Versioned checkpoints; tracker, artifact, report, and host execution services are described in Host-side tracking and artifacts. The new path is currently opt-in for the tf-1d and electrostatic pic-1d pilots.

The established API has two primary high level classes.

  1. ergoExo houses the solver and handles the mlflow logging and experiment management

  2. ADEPTModule is base class for the solver

If you wanted to create your own differentiable program that uses the ADEPT solvers, you could do

from adept import ergoExo

exo = ergoExo()
modules = exo.setup(cfg)

and

sol, ppo, run_id = exo(modules)

or

sol, ppo, run_id = exo.val_and_grad(modules)

This is analogous to torch.nn.Module and eqx.Module the Module workflows in general.

You can see what each of those calls does in API documentation below.