The Hardware Abstraction Layer
A declarative boundary that lets Kronos workloads target profiles, not machines, so the same job reproduces on cloud or bare-metal.
Why abstract the hardware at all
L0 spans cloud HPC and owned bare-metal, CPU-dense and GPU-dense nodes, high-latency and low-latency fabrics. If workloads addressed hardware directly, every neutronics study or PINN training run would encode brittle assumptions about node counts, memory, and topology. The hardware abstraction layer (HAL) removes those assumptions.
Declaring, not placing
A job declares a profile: what it needs, not where to run. A breeder blanket Monte Carlo run declares CPU histories, scratch bandwidth, and a reproducibility class. A burner ambipolar-potential surrogate training run declares GPUs, memory per device, and a checkpoint volume. The HAL resolves the profile to a concrete partition and places it.
- Resource shape: CPU or GPU dominant, memory, scratch
- Fabric class: latency-sensitive coupled or throughput-parallel
- Reproducibility class: certified deterministic or elastic
- Data affinity: proximity to the pulse archive
Portability and reproducibility
Because the profile is the contract, the same job specification runs on cloud during a wide sweep and re-runs on certified bare-metal for the final reproducible pass. Nothing in the physics code changes; only the resolved placement does. This is what makes the cloud-explores, bare-metal-certifies workflow practical.
The HAL also isolates the physics teams from hardware churn. When a node class is retired or a new GPU generation arrives, profiles are re-mapped once inside the HAL rather than across thousands of job scripts. The breeder and burner study code stays stable while the substrate beneath it evolves.
Above the HAL sits scheduling and orchestration; below it sits the heterogeneous pool. The HAL is the seam that keeps L0 both flexible and reproducible, and it is the reason a workload never needs to know whether it is running on a rented cloud partition or a pinned deterministic node.