Command-Line InterfaceΒΆ

symmetrix version [--json] [--probe] [--metadata-only] reports the imported frontend location and the source commit, source-content SHA-256, native-source SHA-256, and dirty state recorded in every installed backend descriptor. It reads descriptors without loading a native extension, so it can identify a stale virtual environment even when the backend cannot initialize on the current host. An unknown identity means that artifact was built without the provenance metadata; it is not evidence that the artifact matches the current worktree. The command probes the selected native backend by default, including its compiled code identity, extension path, linked runtime/BLAS libraries, and Kokkos/device runtime details. If probing fails, it reports the error and falls back to metadata-only inspection. Use --metadata-only to skip native loading; --probe is retained as an explicit spelling of the default behavior.

symmetrix backend list [--json] reports installed descriptors and their usability without loading an extension. symmetrix backend show [selector] [--json] [--probe] resolves the automatic or explicit selection; an incompatible accelerator selector is an error rather than a usability report. With --probe, the selected extension is loaded and CPU backends report the same OpenBLAS configuration and threading fields as symmetrix doctor. symmetrix backend install --arch SELECTOR downloads and installs a published backend wheel into the current Python environment. --arch defaults to auto, which requires exactly one visible GPU architecture and infers the CUDA or ROCm major version. If uv is available it is used; otherwise the command invokes python -m pip. Use an explicit selector such as cuda13-sm120 on headless or multi-GPU systems. The command prints the resolution details, including detected architecture, toolkit version and source, selected package, and Python environment. When the detected CUDA-major wheel is unavailable, automatic mode probes and falls back to the CUDA 12 wheel for the same architecture. Explicit selectors remain strict. On CPU-only hosts, automatic mode reports that the bundled CPU backend needs no download. If no pre-compiled wheel resolves, it reports the attempted selectors and a source-build command. symmetrix doctor [--json] [--advisory] prints runtime diagnostics; --json provides the machine-readable variant for deployment checks.

symmetrix bench runs the maintained SrTiO3 MACE-OMAT-0 benchmark and reports steady-state performance in microseconds per atom. Its options select the model, backend, precision, execution profile, system size, neighbor skin, thread count, sampling protocol, and optional MACE-Torch correctness check. On Apple silicon, --metal runs the GPU stages on the Metal backend and reports the device and the stages it executes.

Artifact preparation commands are exposed as symmetrix_prepare_jit_host_artifact and symmetrix_prepare_jit_device_artifact. The converter is symmetrix_extract_mace --model MODEL [--output PATH]; it accepts species, head, compact/pair-spline format, and device-artifact preparation options and requires the optional symmetrix-xl[mace] dependencies. Omitting the species options creates the preferred universal compact export. Explicit species selection is limited to restricted format-v2 exports or the original Symmetrix pair-spline format (named v1 here); format-v3 nonlinear models always retain the complete checkpoint domain. symmetrix_calibrate_kernel_launch explicitly calibrates bounded GPU launch profiles for a model and structure; normal kernel_launch_policy="automatic" execution consumes a compatible calibration record but does not benchmark.