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.

Support Matrix#

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.