Execution Modes and CapacityΒΆ
streamed_edges="direct" and execution_profile="capacity" are the default
for Kokkos evaluation. The model precision defaults to FP32. Two-interaction
direct execution requires an artifact matching that precision and fails closed
rather than silently choosing a different algorithm. Admitted single-layer
models have no R1 stage and use built-in direct execution. Their capacity plans
may still compile or load specialized M0/R0 operator modules.
Prepare a direct host artifact before a reproducible CPU deployment:
export SYMMETRIX_JIT_CACHE=/path/to/private/jit-cache
symmetrix_prepare_jit_host_artifact \
--model srtio3-mace.json --precision float32
For explicit dtype="float64" evaluation, prepare the corresponding artifact
with --precision float64.
Use streamed_edges="non-compiled" only for compiler-free debugging or
compatibility checks. It is not optimized, has no performance guarantee, and is
not the primary execution path.
capacity ranks qualified internal MH-0 plans using an advisory device-memory
estimate. It chooses the fastest estimated fit; when no candidate fits, it
attempts the smallest qualified plan and lets the allocator determine final
feasibility. execution_profile="speed" fixes the backend-qualified throughput
plan without considering available memory. For standard compact MACE, that
plan retains harmonic gradients, reuses eligible MH-0 state, and recomputes
readout state. For larger graphs, CPU and CUDA FP32 select Y-only harmonics
when that qualified path is faster. FP32 also uses compact unit-direction
geometry. FP64 retains Cartesian geometry; CUDA FP64 and HIP retain harmonic
gradients.
Bounded fixed-workspace plans require the separate
allow_fixed_workspace=True opt-in, currently require CUDA, and support FP32
and FP64 ordinary MH0 standard MACE. MACEField and MACE-MH-1 do not support
fixed-workspace plans. They are excluded by default. In LAMMPS MPI, the
ordinary two-layer standard-MACE plan uses the existing forward-H1 and
reverse-H1-adjoint exchanges between its three tiled phases. Its receiver and
edge workspace is bounded, while the hidden state remains proportional to the
local-plus-ghost feature count. Two-layer execution requires a
precision-matched generated device artifact with tiled R1 support.
from ase.spacegroup import crystal
from symmetrix import Symmetrix
calc = Symmetrix(
"srtio3-mace.json",
execution_profile="capacity",
allow_fixed_workspace=True,
)
a = 3.905
atoms = crystal(
symbols=["Sr", "Ti", "O"],
basis=[(0, 0, 0), (0.5, 0.5, 0.5), (0.5, 0.5, 0)],
spacegroup=221,
cellpar=[a, a, a, 90, 90, 90],
)
atoms.calc = calc
atoms.get_forces() # prepares the graph
print(calc.execution_plan) # MH-0 graph-time report
low_memory=True and low_memory=False remain compatibility spellings for
capacity and speed. generic is a deprecated alias for non-compiled;
factorized and direct_streamed alias direct and change an
otherwise-capacity request to the old speed behavior. Use literal direct
for capacity behavior. materialized is the original Symmetrix execution path
used by the original Symmetrix model format (named v1 here). The public mode and
backend matrix is in
Execution Support Matrix; implementation architecture is
described in Direct Execution Architecture.
The graph-time execution-plan report currently covers MH-0 MACE and MACEField. MH-1 direct execution has its own qualified policies but does not yet expose the corresponding planner report.