aurora_configs: native FairChem XPU via collaborator fork; add esen + allscaip - #220
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Builds on #217/#219 to widen FairChem coverage on Aurora:
aurora_configs/uma.py: replace theMLIPPredictUnit._setup_devicemonkeypatch with fairchem-core installed from thexpu-supportbranch ofabagusetty/fairchem, which adds native Intel-GPU support —device="xpu"accepted throughget_predict_unit/FAIRChemCalculator.from_model_checkpoint, acommon/device_utils.pyabstraction layer,torch.xpuseeding/cache management, and XCCL (oneCCL) collectives. The#219conventions 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 theirnvidia_configscounterparts 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 fromtorch.xpu.current_device(), so"xpu:N"has to travel throughtorch.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 upstreammain, headfc18598as of 2026-08-28) does this properly and is intended for upstreaming. The git dependency is routed via[tool.uv.sources]withsubdirectory = "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
uv lock --script(the same resolution pathrootstock installuses): fairchem-core2.22.1.dev11+gfc18598, torch2.13.0+xpu, triton-xpu3.7.2. The hatch-vcs dynamic version works from the git+subdirectory install.pretrained_models.json(includesuma-s-1p2p1).parse_checkpoints_dict/parse_clusters_list/declares_setup_from_pathpass on all aurora configs.🤖 Generated with Claude Code