Skip to content

Flatiron bringup, training parameters for 8xH100, improve training stability and efficiency - #491

Open
jpata wants to merge 50 commits into
mainfrom
jp_20260803_params
Open

Flatiron bringup, training parameters for 8xH100, improve training stability and efficiency#491
jpata wants to merge 50 commits into
mainfrom
jp_20260803_params

Conversation

@jpata

@jpata jpata commented Aug 3, 2026

Copy link
Copy Markdown
Owner
  • Fix Key4hep hit postprocessing to distinguish tracker from calorimeter hits and preserve decoded detector system, side, and layer metadata; add configurable geometry and
    neighborhood features.
  • Add packed variable-length attention and detector-specific tracker, calorimeter, and shared backbone stages.
  • Calibrate task-loss weights from early batches, improve kinematic loss weighting, and strengthen multi-GPU diagnostics, memory monitoring, and dataloader resource handling.
  • Add CLD/CLIC validation, PF-baseline comparisons, training-evolution and hit-feature plots, submission scripts, and focused test coverage.

hit_vs_pf_comparison.slides.pdf

jpata and others added 14 commits August 3, 2026 09:26
Only collect step diagnostics (memory, batch stats, phase timings) and
log to tensorboard every tensorboard_step_freq steps, avoiding the
per-step overhead of collecting unused metrics.
ArrayRecordDataSource caches one file reader per distinct shard and never
closes them, so worker processes accumulate file descriptors linearly as
training touches more shards. This slowed down the psutil-based open-file
monitoring inside tensorboard logging.

Add a configurable max_open_readers cap (default 64): after each record is
read, readers beyond the cap are closed. Reads are positional and stateless,
so closing and reopening is safe. Verify reads return identical data after
eviction.
…vice

- _summarize_distributed_diagnostics: gather the union of numeric keys
  across ranks before all-reduce. Rank-0-only diagnostics keys (e.g.
  tensorboard_logging/tensorboard_flush) made ranks build differently-sized
  reduce tensors (20 vs 18 elements), hanging NCCL for 600s until the
  watchdog timeout.
- init_process_group: pass device_id and set the device so barrier() and
  other collectives use the rank's GPU instead of falling back to the
  current-context device (0 on all ranks).
Use the full model learning rate for the learnable task-loss weights and
keep LAMB layer-wise trust scaling (always_adapt) so the weights evolve as
they did before the optimizer parameter-group split. Add a regression test
covering the optimizer parameter groups.
@jpata jpata changed the title Update training parameters for H100 Update training parameters for 8xH100 Aug 10, 2026
@jpata jpata changed the title Update training parameters for 8xH100 Flatiron bringup, update training parameters for 8xH100 Aug 11, 2026
@jpata jpata changed the title Flatiron bringup, update training parameters for 8xH100 Flatiron bringup, training parameters for 8xH100, improve training stability and efficiency Aug 11, 2026
@jpata
jpata marked this pull request as ready for review August 17, 2026 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant