Skip to content

FP hardware survey — fleet capture campaign (tracking) #170

Description

@MikeGrier

FP hardware survey — fleet capture campaign

Coordinates the cross-machine floating-point hardware survey produced by
crates/fp-hw-survey. The tool captures native scalar FP results + exception
flags through per-architecture inline asm (not libcore math), then merges
captures from many machines to surface the rows where hardware actually
disagrees. See crates/fp-hw-survey/README.mdCollecting captures across
the fleet
.

Why this campaign

  • Confirm intra-ARMv8 determinism. The Arm ARM defines frecpe/frsqrte/
    frecpx/fmulx via exact pseudocode; distinct ARMv8 vendors should produce
    bit-identical estimates. A zero-divergence merge across AArch64 machines is
    the expected, informative result — positive confirmation of conformance.
  • Map the genuinely divergent axes. Cross-architecture x86-64 ↔ AArch64
    semantics (fmax/fmin NaN handling, float→int saturation, flush-to-zero
    edges), and any single-precision estimate difference attributable to a
    FEAT_RPRES / FPCR.AH context gap (rpres/afp are recorded in each
    capture header precisely so such a row is read as a feature difference, not an
    erratum).

Target SKUs

Acquisition (manual, per machine)

No CI capture job — the interesting SKUs are physical hardware a hosted runner
does not represent. Each machine owner builds --release, runs info +
selftest (capture refuses to write if the self-test fails), then capture --label <cpu-and-os>, and submits the NDJSON plus the one-line header on the
matching per-SKU issue above.

Ingest (offline, on one machine)

fp-hw-survey merge --out divergences.ndjson capture-*.ndjson

Commit only, never the raw multi-hundred-MB captures:

  • divergences.ndjson — the merge output (expected empty for intra-ARMv8
    estimate ops; an empty file is the positive result).
  • a provenance table — one row per contributing capture copied from its
    header: label, cpu, os, features, captured_utc, row count,
    tool_version.

Raw captures are retained out-of-band (issue attachments / artifact storage).

Close-out

Paste the merge stderr summary (machine count, aligned-key count, divergence
count, per-op breakdown) into this issue and check off the contributing SKUs
above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions