You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a2e09f5
Browse filesBrowse the repository at this point in the historyBrowse files
- resolve_default_device(): cuda -> mps -> cpu fallback shared by the
sync/async trainers and the learner worker
- collector inference accepts explicit 'mps'; generic 'cuda' degrades to
the default device when CUDA is unavailable (MPS on Apple Silicon)
- collector staged-host inference path for MPS (no pinned memory, no
CUDA-graph sync); compile/AMP stay CUDA-only
- EmpiricalNormalization local accumulators stay float64 on CPU (MPS has
no float64); the multi-learner merge path remains CUDA-only
- topology/numa guards for platforms without sched_getaffinity
- per-stage learner timings logged to TensorBoard (perf/learner_*)
- learner updates compiled with backend="aot_eager" on MPS: measured 86ms
vs 106ms per update(4) (~19%); inductor measured 2.6x SLOWER than
eager MPSGraph and stays CUDA-only; MPS autocast gains ~0 and is not
enabled
Verified end-to-end on a Mac Studio (M5 Ultra, torch 2.11):
g1-wbt-dance motrix.fastsac trains with learner=mps
collector_inference=mps at ~23k env steps/s (+71% vs eager) and ~44
updates/s (~95% of the standalone learner benchmark). CUDA paths are
unchanged.
0 commit comments