I'm not able to run NVIDIA Cosmos (Predict2.5 / text2world) on DGX Spark (ARM / aarch64)?
I’m hitting dependency blockers around Transformer Engine / flash-attn and some configs that seem x86_64-centric. Curious if anyone has a confirmed working setup, workarounds, or if Cosmos is currently x86-only in practice.
Environment
- Hardware: NVIDIA DGX Spark
- Architecture: aarch64 (ARM)
- OS: Ubuntu (Spark image)
- Kernel: 6.14.0-1015-nvidia
- GPU: NVIDIA GB10
- Driver: 580.126.09
- CUDA: 13.0
- Python: 3.10 (Conda)
- Cosmos Version: cosmos-predict2.5
Key Issues Encountered
1. Transformer Engine Is a Hard Dependency (and Not Available on ARM)
Multiple Cosmos modules unconditionally import transformer_engine, including:
- minimal_v4_dit.py
- wan2pt1.py
- fused_adam_dtensor.py
- optimizer and attention layers
Example failure:
ModuleNotFoundError: No module named 'transformer_engine'
Even after:
- Rewriting attention layers
- Introducing fallback implementations
- Removing explicit class inheritance from DotProductAttention
…the import graph still eventually requires transformer_engine.
Root problem:
transformer-engine wheels are not available for aarch64, and building from source is not supported on DGX Spark.
2. flash-attn / flash-attn-2 Is x86_64-Centric
Cosmos enforces availability checks such as:
assert is_flash_attn_2_available()
On DGX Spark:
- flash-attn is not available
- flash-attn-2 cannot be installed
- CUDA + ARM + GB10 has no supported build
This causes early termination even when the feature is not strictly required for inference.
3. Config System Assumes Missing Experiment Modules
Text2world config attempts to auto-import:
cosmos_predict2._src.predict2.configs.text2world.experiment
But the directory does not exist in the repo, leading to:
ModuleNotFoundError:
No module named 'cosmos_predict2._src.predict2.configs.text2world.experiment'
This suggests:
- Incomplete packaging
- Internal-only config assumptions
- Or missing repo components
4. Inference Path Is Hardwired to Video2World
Even with:
- --inference-type=text2world
- Environment overrides
- Patched model_loader.py
The system still instantiates:
Video2WorldInference(...)
This drags in:
- Vision-language models
- Qwen-VL
- Transformer Engine
- Flash attention paths
There is no clean text-only inference path that avoids these dependencies.
5. Cascading Failures from Partial Patching
Attempts to patch around missing dependencies led to secondary failures:
- NoneType takes no arguments (class inheritance on disabled components)
- NameError: _SACConfig not defined
- SyntaxError: return outside function (after fallback edits)
This indicates the codebase is not designed for partial feature removal.
What Would Be Needed to Support DGX Spark
- Optional Transformer Engine
- Clean fallbacks
- No hard imports
- No class inheritance from TE types
- flash-attn Optionality
- Runtime feature flags
- Safe PyTorch attention fallback
- True Text-Only Inference Path
- No Video2World initialization
- No vision or VLM imports
- ARM-Compatible Build Artifacts
- TE or equivalent kernels for aarch64
- Or official statement of non-support
I'm not able to run NVIDIA Cosmos (Predict2.5 / text2world) on DGX Spark (ARM / aarch64)?
I’m hitting dependency blockers around Transformer Engine / flash-attn and some configs that seem x86_64-centric. Curious if anyone has a confirmed working setup, workarounds, or if Cosmos is currently x86-only in practice.
Environment
Key Issues Encountered
1. Transformer Engine Is a Hard Dependency (and Not Available on ARM)
Multiple Cosmos modules unconditionally import transformer_engine, including:
Example failure:
Even after:
…the import graph still eventually requires transformer_engine.
Root problem:
transformer-engine wheels are not available for aarch64, and building from source is not supported on DGX Spark.
2. flash-attn / flash-attn-2 Is x86_64-Centric
Cosmos enforces availability checks such as:
On DGX Spark:
This causes early termination even when the feature is not strictly required for inference.
3. Config System Assumes Missing Experiment Modules
Text2world config attempts to auto-import:
This suggests:
4. Inference Path Is Hardwired to Video2World
Even with:
The system still instantiates:
This drags in:
There is no clean text-only inference path that avoids these dependencies.
5. Cascading Failures from Partial Patching
Attempts to patch around missing dependencies led to secondary failures:
This indicates the codebase is not designed for partial feature removal.
What Would Be Needed to Support DGX Spark