Skip to content

Solvers and precision

Open Solver beside Run and Step. Choose CPU or GPU, then select 64-bit or 32-bit Float precision. New Studio sessions default to CPU-64. These choices affect the simulation calculation; the viewport’s GPU renderer is separate.

Profile Availability Floating-point calculation
CPU-64 Browser worker and native app 64-bit arithmetic and Float storage; the default reference
CPU-32 Browser worker and native app 32-bit arithmetic and Float storage
GPU-32 Compatible hardware WebGPU in the browser, or native GPU compute Experimental 32-bit execution
GPU-64 Native app with supported FP64 Vulkan hardware Experimental 64-bit execution; unavailable in browser WebGPU

Unavailable GPU options are disabled with a reason. Check again retries device detection. A detected GPU proves device capability, not that every Hyle program can run on it: unsupported programs report an error rather than silently switching to CPU. GPU-64 is not available through the native Metal backend on macOS. Cloud simulation jobs are not available yet.

You still write Float in Hyle. The selected solver profile controls its numerical width for that run. The field annotation ~epsilon is not a CPU/GPU selector or a guaranteed error bound for a 32-bit run.

32-bit Float columns use half the storage of 64-bit columns, but this does not halve total application memory or guarantee faster steps. Rounding can change threshold decisions and amplify into different trajectories. Start with CPU-64 when evaluating a model and compare lower-precision results before relying on them. Moving back to 64-bit cannot recover information already lost to rounding.

Even equal Float widths do not guarantee identical CPU/GPU results. A bake preserves the states that actually ran and records their execution profile. Playback does not recompute those states or require the GPU that produced them. Atlas visual previews are separate recordings; they are not promises of an identical trajectory on every solver.

The CPU also offers Auto, Scalar and SIMD:

  • Auto uses scalar execution for tiny models and SIMD for larger compatible rules.
  • Scalar processes cells individually and is useful for comparisons.
  • SIMD processes multiple cells together for supported rules. Other rules still use scalar execution.

These strategies keep the same numerical profile. Changing CPU strategy pauses playback and keeps the timeline. It is an optimization choice, not a different simulation model.

Changing CPU/GPU or Float precision starts a new timeline from the displayed state. Studio asks before discarding an existing multi-frame timeline; download its bake first if you want to keep it. Solver selection is disabled in a read-only bake.

Hyle Astro