Installation#
Installing Conda Packages#
Legate is available from conda on the legate channel.
Note
conda version >= 24.1 required
# with a new environment
$ conda create -n myenv -c conda-forge -c legate legate
# =========== OR =========== #
# into an existing environment
$ conda install -c conda-forge -c legate legate
You will probably also want to install some downstream libraries built on top of Legate, e.g. cuPyNumeric:
$ conda install -c conda-forge -c legate cupynumeric
Important
Packages are only offered for Linux (x86_64 and aarch64) supporting Python versions 3.10 to 3.12.
Conda and GPU / CPU Variants#
conda automatically installs the right variant for the system: * CPU variant if no NVIDIA GPU is detected * GPU variant if an NVIDIA GPU is detected
To override this behavior and force install a version with GPU support, use the following (with the desired CUDA version):
$ CONDA_OVERRIDE_CUDA="12.2" \
conda install -c conda-forge -c legate legate
Installing PyPI Packages#
Legate is also available as a Python wheel.
To install the Legate wheel, use the the pip
package manager:
# into existing environment
$ pip install legate
# =========== OR =========== #
# into new environment
$ python -m venv myenv
$ source myenv/bin/activate
$ pip install legate
The Legate wheel comes with GPU support and UCX-based networking support. Similarly to the Conda packages, the Legate wheel will probably be installed alongside downstream libraries, such as cuPyNumeric, which is also available as a wheel:
$ pip install nvidia-cupynumeric
Important
Packages are only offered for Linux (x86_64 and aarch64) supporting Python versions 3.10 to 3.12.
Networking with Legate Packages#
Building and Installing from Source#
Building Legate from source has multiple steps and can involve different dependencies, depending on your system configuration. For the most up to date instructions for the latest source code, see Building Legate from Source.
Support Matrix#
The following table lists Legate’s minimum supported versions of major dependencies.
“Full support” means that the corresponding versions (and all later ones) are being tested regularly, released as downloadable packages, and are expected to work. Please report any incompatibility you find against a fully-supported version by opening a bug.
“Best-effort support” means that the corresponding versions may not be actively packaged and shipped, but that Legate should be compatible with them. In particular, Legate should be able to be compiled from source for these configurations.
We may not actively work to fix any incompatibilities discovered under these versions, but we accept contributions that fix such incompatibilities.
Dependency |
Full support (min version) |
Best-effort support (min version) |
---|---|---|
CPU architecture |
x86-64 (Haswell), aarch64 |
older x86-64, Apple Silicon |
OS |
RHEL 8, Ubuntu 20.04 |
other Linux, macOS |
Compilers |
GCC 7, clang 5 |
Any compiler supporting C++17 |
GPU architecture |
Volta |
Pascal |
CUDA toolkit |
12.2 |
11.8 |
Python |
3.10 |
|
NumPy |
1.22 |
Legate is tested and guaranteed to be compatible with Volta and later GPU architectures. You can use Legate with Pascal GPUs as well, but there could be issues due to lack of independent thread scheduling. Please report any such issues by opening a bug.
Installation of the Legate IPython Kernel#
Please install Legate, then run the following command to install a default Jupyter kernel:
$ legate-jupyter
If installation is successful, you will see some output like the following:
Jupyter kernel spec Legate_SM_GPU (Legate_SM_GPU) has been installed
Legate_SM_GPU
is the default kernel name.
Licenses#
This project will download and install additional third-party open source software projects at install time. Review the license terms of these open source projects before use.
For license information regarding projects bundled directly, see Third-party notices.