Skip to content

aurora_configs: native FairChem XPU via collaborator fork; add esen + allscaip - #220

Merged
OwenPriceSkelly merged 1 commit into
mainfrom
aurora-fairchem-xpu
Aug 28, 2026
Merged

aurora_configs: native FairChem XPU via collaborator fork; add esen + allscaip#220
OwenPriceSkelly merged 1 commit into
mainfrom
aurora-fairchem-xpu

Conversation

@OwenPriceSkelly

Copy link
Copy Markdown
Member

What

Builds on #217/#219 to widen FairChem coverage on Aurora:

  • aurora_configs/uma.py: replace the MLIPPredictUnit._setup_device monkeypatch with fairchem-core installed from the xpu-support branch of abagusetty/fairchem, which adds native Intel-GPU support — device="xpu" accepted through get_predict_unit/FAIRChemCalculator.from_model_checkpoint, a common/device_utils.py abstraction layer, torch.xpu seeding/cache management, and XCCL (oneCCL) collectives. The #219 conventions are preserved (mandatory task head, VERIFY_KWARGS, FP64 inference settings, **kwargs).
  • aurora_configs/{esen,allscaip}.py (new): the other two fairchem-core v2 families, mirroring their nvidia_configs counterparts plus the XPU wheel index, the same FP64 settings, and an xpu _fairchem_device() shim — the fork normalizes indexed device strings to the bare type and resolves the actual GPU from torch.xpu.current_device(), so "xpu:N" has to travel through torch.xpu.set_device, same as the CUDA configs.
  • docs/environments.md: refresh the aurora examples line (monkeypatch mention is stale).

Out of scope: the fairchem-core 1.x OC20 stack (escn, equiformer) — no XPU path exists (CUDA-only pyg wheels), and the fork doesn't touch v1.

Why the fork

PyPI fairchem-core (through 2.22) asserts device in {"cpu", "cuda"} deep in the predict unit; the monkeypatch worked around the assert but left cache management, seeding, and collectives CUDA-hardwired. The fork (3 commits ahead of upstream main, head fc18598 as of 2026-08-28) does this properly and is intended for upstreaming. The git dependency is routed via [tool.uv.sources] with subdirectory = "packages/fairchem-core"; env builds lock it to a concrete SHA at install time. Once XPU support merges upstream, the source override can be deleted and the dep returned to a PyPI floor.

Validation

  • All three configs resolve with uv lock --script (the same resolution path rootstock install uses): fairchem-core 2.22.1.dev11+gfc18598, torch 2.13.0+xpu, triton-xpu 3.7.2. The hatch-vcs dynamic version works from the git+subdirectory install.
  • Checkpoint ids verified against the fork's pretrained_models.json (includes uma-s-1p2p1).
  • parse_checkpoints_dict / parse_clusters_list / declares_setup_from_path pass on all aurora configs.
  • Not yet run on Intel hardware — these are experimental; first runtime validation will follow the intel workshop loop / Aurora smoke test.

🤖 Generated with Claude Code

…llscaip

Switch aurora_configs/uma.py from the _setup_device monkeypatch to
fairchem-core installed from the xpu-support branch of abagusetty/fairchem,
which adds native Intel-GPU support (device="xpu" through get_predict_unit /
MLIPPredictUnit, torch.xpu seeding and cache management, XCCL collectives).
The branch tracks upstream main, so the torch pin rides ~=2.13.0 and the
checkpoint registry carries uma-s-1p2p1.

Extend Aurora coverage to the other fairchem-core v2 families with
aurora_configs/{esen,allscaip}.py, mirroring their nvidia counterparts plus
the XPU wheel index, the FP64 inference settings, and an xpu version of the
_fairchem_device shim (the fork still resolves the actual GPU from
torch.xpu.current_device(), so indexed devices travel through
torch.xpu.set_device). The fairchem-core 1.x OC20 stack (escn, equiformer)
has no XPU path and stays nvidia-only.

All three resolve with `uv lock --script` (fairchem-core
2.22.1.dev11+gfc18598, torch 2.13.0+xpu, triton-xpu 3.7.2); none has run on
Intel hardware yet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@OwenPriceSkelly
OwenPriceSkelly merged commit bcb6c51 into main Aug 28, 2026
5 checks passed
@OwenPriceSkelly
OwenPriceSkelly deleted the aurora-fairchem-xpu branch August 28, 2026 18:56
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