Changes: 25.09#

General

  • Define LEGION_DISABLE_DEPRECATED_ENUMS in legate_defines.h, which disables the use of deprecated Legion enum values. Uses of these values will now result in compile-time errors.

C++#

General

  • Add config option --profile-name to customize the base filename for profiling output.

  • Add new UCX networking backend. On supporting builds (LEGATE_DEFINED(LEGATE_USE_UCX) being 1), CPU collectives can be routed through UCX by disabling MPI (LEGATE_CONFIG=--disable-mpi).

  • Remove support for Cal communicator.

  • Remove LEGATE_USE_CAL macro definition.

  • Support for cal communicator via legate.AutoTask.add_communicator("cal") and legate.ManualTask.add_communicator("cal") have been removed.

Data

Mapping

Partitioning

  • Add overload of legate::align() that takes a span of variables to align as a convenience for aligning multiple task arguments.

  • Add overload of legate::broadcast() that takes a span of variables to broadcast as a convenience for broadcasting multiple task arguments.

  • Add overload of legate::broadcast() that takes a span of pairs of variables and axes to broadcast as a convenience for broadcasting multiple task arguments.

Tasks

Types

Runtime

Utilities

  • Remove previously deprecated classes legate::cuda::StreamPool and legate::cuda::StreamView.

I/O

  • Add legate::io::hdf5::to_file() to write a legate::LogicalArray() to file using HDF5.

Python#

General

  • Remove legate.core.AutoTask.add_cal_communicator().

  • Remove legate.core.ManualTask.add_cal_communicator().

  • Remove support for passing "cal" to legate.core.AutoTask.add_communicator() and legate.core.ManualTask.add_communicator().

Data

Mapping

Partitioning

  • Change legate.core.align() to return an iterable of constraints instead of a single value.

  • Change legate.core.broadcast() to return an iterable of constraints instead of a single value.

Tasks

Types

Runtime

  • Expose profiling range functions to Python: legate.core.start_profiling_range() and legate.core.stop_profiling_range().

  • Add legate.core.runtime.config property to access runtime configuration. Note that this API is considered an implementation detail and has no guarantee of stability.

Utilities

I/O

  • Remove legate.io.hdf5.kerchunk_read(). Legate has had first-class support for HDF5 reads for a while, making this function obsolete.

  • Add legate.io.hdf5.to_file() to write a legate.core.LogicalArray to file using HDF5.