Reproducibility is usually something a numerical codebase fights for: pin the thread count, disable fused multiply-add, hope the vendor library agrees with itself between releases. Mica treats it as a property the compiler owes you.

Across carrier counts

Data-parallel work is partitioned by whole output rows, never within an accumulation. A dot product is computed by one carrier from beginning to end, in declaration order, regardless of how many carriers the program was built for.

The consequence is that parallel linear algebra is bit-identical to serial at every carrier count. Not close, not within tolerance — identical. This is verified continuously across the corpus rather than asserted.

Across architectures

Floating-point contraction — whether a multiply and an add fuse into a single FMA — is a decision the compiler makes, and it makes it identically on both backends. A program produces bit-identical results on x86_64 and AArch64 at a fixed optimization set.

Across deployments

Carrier count is fixed at compile time, not discovered from the machine at startup. A binary you ship has one known degree of parallelism, and behaves the same on a four-core appliance as on a sixty-four-core server. There is no scheduler heuristic to reproduce and no environment variable that quietly changes your numbers.

Why reductions stay on one carrier

A parallel sum over floating-point values requires splitting an accumulation, and splitting an accumulation reorders additions. Floating-point addition is not associative, so the result depends on the split — that is, on the carrier count.

We could split it and document the caveat. Instead the compiler’s own reductions — the dot product among them — stay on a single carrier by design, even in a multicore build with idle carriers available. Declining a fast operation that would silently break the guarantee is the more useful behaviour for anyone who has to certify a result.

Who this is for

If you work in finance, in safety-critical systems, or in computational science where a result has to be reproducible by a reviewer on different hardware, this is likely the most important property on this site. A bit-identical answer is the difference between a regression test that means something and one that has a tolerance band hiding drift.

See also