Skip to content

gpuwm-hex 0.4.9

Choose a tag to compare

@FahrenheitResearch FahrenheitResearch released this 28 Oct 00:06
· 6 commits to main since this release

gpuwm-hex 0.4.9. Requires gpuwm>=2.9.7,<2.10.

Fixed

  • The s2s door wires its ocean on the MPAS-physics route: a prescribed surface series updates SST and sea ice, and the default prognostic ocean runs MPAS's mixed layer on the GPU.
  • Storm rosters on the MPAS-physics route run SPPT and SKEB with local time stepping.
  • Plain hex on MPAS physics no longer stops with non-finite columns after weeks: MYNN's lowest-layer pressure thickness can no longer be zero (correct mode). A checkpoint resumes under a changed timestep or a changed correction set.
  • Automatic members per card prices MPAS-physics members on their own measured memory, so 30 km globes no longer run out of GPU memory.
  • A mid-window start (delayed start) writes the whole initial_time stamp.
  • The MPAS-physics pool decode runs on every core, and forecasts use the reader their wheel carries.
  • Zoom globes rotate a stored template mesh instead of generating one, and fetch the start source beside the mesh and static.
  • Hex init holds its thread pools to the container's CPU quota, and the main thread no longer spins a core waiting on the card.
  • Storm-following moves keep one ocean-ice owner, and moved sea points take the role of their carried ice.
  • MPAS-route runs keep far less host memory: device views use the framework's own storage.
  • Thompson microphysics caps its column workspace at 1.5 GiB per call (GPUWM_HEX_THOMPSON_WORKSPACE_MIB), so large ranks no longer run a 32 GB card out of memory at the first microphysics step. Output is unchanged.
  • A bare local-time-stepping run on a refined mesh moves its default step onto the class clock, and two LTS blocks on one card no longer race on a spec upload.
  • The observation scorer runs with no card visible, so card leases can be released when the forecast ends.
  • MPAS-physics steps do their per-step host bookkeeping off the step thread: a storm-following local-time-stepping run goes from 43.1 to 29.5 s per model hour on one card. Output is unchanged.
  • One-card local time stepping shares one work arena across its classes and runs the limiter one species per pass, so a 48/3 km storm-following run fits a 32 GB card.
  • A global member that does not fit one card runs over several cards on the same host, and the next pipelined member's host memory is priced per rank.
  • The MPAS-physics route applies --acoustic-substeps, --time-integration-order and --monotonic.
  • A bare local-time-stepping run picks its step for the mesh's real coarsest class, so a 96 -> 3 km zoom globe steps 15 s instead of 12.5 s.
  • The zoom globe's products pass keeps the column stores the live loop already wrote instead of rewriting them on one core.
  • A stalled source download is retried on a new connection after 10 s instead of waiting 300 s.
  • Local time stepping picks the fastest class plan for the mesh and runs the plain fixed step where that is faster; on a 96 -> 3 km zoom globe a bare LTS request now runs about 1.2x faster than the fixed step on MPAS physics.
  • MPAS-physics local time stepping deposits and assembles its history frames off the class step threads, so the classes no longer wait 1-2 s at every frame.
  • MPAS-physics start-up and history output no longer wait on one core: the pool decode, init reads, region preparation and frame encoding run in parallel (a 30 km member over 4 cards starts in 85 s instead of 112 s; output unchanged).
  • Zoom-globe, global, regional and country runs give their card back to a card queue when the forecast ends and draw their products on the CPU.
  • Local time stepping runs its rate classes on the faster dycore kernels (about 1.2x faster on a 3 km zoom globe).
  • A storm-following move no longer stops the run when a member reused from disk is ready but unsafe for the storm, and a case with no safe radius is refused when it is loaded.
  • Packaging links the pinned netCDF for every helper, and two exit-drop tests no longer race.
  • Kernel packs (kernel-packs-v0.4.9) carry the corrected MYNN kernel, so a new box does not compile it on first use.