-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
There are two ways to install the library that are supported and depend on the PMIx distribution layer.
- Compilation from the source against own PMIx version and PyTorch version (HPC preferred, recommended for production),
- Wheel containing a thin PMIx version with lazy compilation against the PyTorch when launched (convenient way).
rixa requires user to provide own PMIx-based launcher. Hence, users should have own PMIx version of the library already installed.
This version should be used to build rixa to minimize possible problems. In order to install the library from source one can use pip.
If torch version is used it is advised to use
pip3 install --no-binary --no-build-isolation rixa[torch]This will install the library using PMIx version from the user environment and will compile the PyTorch extension
at the build time. One can achieve corresponding configuration by using uv and configuring pyproject.toml
[tool.uv]
no-binary-package = ["rixa"]
no-build-isolation-package = ["rixa"]If user wants to install only core extension or NVSHMEM version --no-build-isolation flag can be skipped.
If there is no way to get the PMIx library exposed in the HPC environment one can install library with a wheel. Wheel contains the PMIx version 5.0.9 and can be used to connect to servers spawned with ABI-compatible versions (should be all PMIx 5.0). In such case no flags should be used during the installation process. However, in such case the PyTorch extension is not compiled at the start. Instead, it would be built at the runtime by using lazy compilation. Beware that before launching one should compile the extension:
python -c "import rixa"This will compile library once and save the results in the torch cache. If the user won't compile the torch extension before the usage no error will be thrown. However, manual compilation is encouraged.