Releases: nv-legate/legate
v22.05.01
This hotfix release updates the conda build recipe to use the right compiler versions.
Full Changelog: v22.05.00...v22.05.01
v22.05.00
Release 22.05 introduces the following new features: 1) multi-dimensional unbound Legate stores, 2) communicator support for Legate tasks with multi-dimensional launch domains, 3) zero-code patching support (lgpatch), 4) unified per-library command-line arguments handling, and 5) NVTX ranges for Legate tasks.
Conda packages for this release are available at https://anaconda.org/legate/legate-core.
New Features
- Simple stream pool for all Legate libraries by @magnatelee in #208
- NVTX integration by @magnatelee in #209
- Adding conda build recipe files by @marcinz in #188
- APIs to declare out-of-range indirects by @magnatelee in #221
- Communicators for N-D task launches by @magnatelee in #182
Improvements
- Add install.py flag to feed -march to legion and legate by @manopapad in #170
- Add support for checking out a commit by @marcinz in #172
- Added allocator rebase pr by @mfoerste4 in #171
- Split up legate/core/legion.py by @bryevdv in #163
- Add script wrapper for zero code-change patching by @bryevdv in #236
- Forward some more relevant env vars through mpirun -x by @manopapad in #180
- Add more type annotations by @bryevdv in #181
- Updates for N-D unbound stores by @magnatelee in #186
- Variety of quality-of-life changes by @magnatelee in #190
- Auto-detect current GPU architecture at install time by @manopapad in #184
- More type annotations by @bryevdv in #189
- Pass -std=c++14 to Legion explicitly by @manopapad in #194
- Bryanv/arg protocol by @bryevdv in #195
- More typing by @bryevdv in #196
- Support for string scalar arguments by @magnatelee in #199
- Flush scheduling window before tree reduction is performed by @magnatelee in #203
- Bump up NumPy version by @magnatelee in #206
- Start requiring C++17 for Legate libraries by @magnatelee in #207
- Raise an exception if there's no usable processor by @magnatelee in #210
- Use ordered sets in requirement analyzers for determinism by @magnatelee in #212
- Type annotations for the rest of the core modules by @magnatelee in #213
- Split ManualTask from other tasks by @bryevdv in #197
- Use updated legion python cleanup API by @manopapad in #217
- Create output directory if it doesn't exist by @manopapad in #218
- Update the Python cleanup interface by @magnatelee in #222
- Bump minpy to 3.8 by @bryevdv in #220
- Update build.sh with specific CPU targeting by @m3vaz in #223
- Use stdlib typing where possible by @bryevdv in #224
- Compile everything using C++17 by @manopapad in #227
- Centralize command line argument parsing in legate.core by @bryevdv in #232
- Launcher flags to configure Nsight Systems by @magnatelee in #234
- Conda recipes improvements by @marcinz in #233
- Use 32-bit integers for type codes by @magnatelee in #239
- Misc small updates by @bryevdv in #238
- Add option to keep profiler/spy dumps by @manopapad in #240
- Use read-write privilege for scatter targets by @magnatelee in #241
- Set target memories for future-backed stores by @magnatelee in #242
Bug Fixes
- Fix for output region by @magnatelee in #175
- Unbound store fix by @magnatelee in #179
- Handle projections to 0D correctly by @magnatelee in #202
- Fix for the constraint solver by @magnatelee in #204
- Fix compile issue with cuda_help.h by @magnatelee in #211
- Pull conda build number into a variable by @marcinz in #216
- Fix unit tests for Legate stores by @magnatelee in #235
- Fix unordered field destruction by @magnatelee in #237
- Update the number of elements correctly in create_output_buffer by @magnatelee in #243
- Use phase barriers to work around the CUDA driver bug (#246) by @marcinz in #247
New Contributors
- @mfoerste4 made their first contribution in #171
- @m3vaz made their first contribution in #223
Full Changelog: v22.03.00...v22.05.00
v22.03.00
Release 22.03 adds communicator support for tasks, allowing intra-task communication to be performed in a safe way. The new task type for constructing task trees is useful for operations implementing set semantics, such as distributed value de-duplication. The build system is also extended such that CUDA tasks can use offline device linking. Finally, the auto-partitioner is revised and extended to handle distributed gather/scatter copies correctly.
Conda packages for this release are available at https://anaconda.org/legate/legate-core.
New Features
- Support for unaligned color spaces by @magnatelee in #157
- Support for uneven partitions by @magnatelee in #152
- Support for offline device linking by @magnatelee in #145
- Communicator support by @magnatelee in #140
- APIs to query launch shape by @magnatelee in #139
- Support for partial broadcasting by @magnatelee in #137
Improvements
- Add support for checking out a commit by @marcinz in #169
- Turn off local function optimization for NCCL initialization by @magnatelee in #167
- Allow users to explicitly redirect logs to file by @manopapad in #166
- Cleanup / Initial pass for type annotations by @bryevdv in #158
- Safety checks for copies by @magnatelee in #159
- Support for reduction tree construction by @magnatelee in #151
- Be a little more lenient in fake-dims check by @manopapad in #148
- Update Legate copy by @magnatelee in #149
- Build update by @magnatelee in #142
Bug Fixes
- Quickfix: Fix non-annotations on 3.7 by @bryevdv in #164
- Solver fix by @magnatelee in #162
- Mapper fix for tasks with no store arguments by @magnatelee in #161
- Solver fix by @magnatelee in #160
- Fix for #133 by @magnatelee in #155
- Include ccbin when linking device code by @manopapad in #153
- Some fixes for auto-partitioner by @magnatelee in #147
New Contributors
Full Changelog: v22.01.01...v22.03.00
v21.11.01
What's Changed
This is a minor bug fix release, fixing the version of legion to a particular commit.
Conda packages for this release are available at https://anaconda.org/legate/legate-core.
Full Changelog: v22.01.00...v22.01.01
v22.01.00
Release 22.01 introduces APIs for manual data partitioning and task parallelization to express distributed algorithms that are not data parallel, such as matrix decompositions.
New Features
- Support ingest of external distributed data by @manopapad in #81
- Support for manual partitioning by @magnatelee in #120
- Cyclic distribution by @magnatelee in #122
- Make LEGATE_ABORT a statement by @magnatelee in #126
- API for issuing fences by @magnatelee in #128
Improvements
- Support multi-rank mode by @manopapad in #80
- Realm now sets GASNET_PHYSMEM_PROBE/MAX internally by @manopapad in #86
- Replace math.prod with itertools.product by @magnatelee in #88
- Print the command once even if externally launched by @manopapad in #87
- Build system improvements by @manopapad in #101
- Verify the python lib used by Realm matches what user is running by @manopapad in #110
- Add has_fake_dims() check on Stores by @manopapad in #112
- Remove CUDA resource management by @magnatelee in #111
- Debug-printing functions for dense arrays by @manopapad in #115
- No longer need to reserve one dim for reductions by @manopapad in #121
- Flag to use empty tasks by @magnatelee in #129
- Do python install on custom dir w/o eggs by @manopapad in #131
Bug Fixes
- Object cycle fix ported to branch-22.01 by @magnatelee in #85
- Fix product computation by @manopapad in #89
- Bug fix for base mapper (rebased) by @magnatelee in #93
- Fix for Issue 77 (rebased) by @magnatelee in #92
- Keep RegionField alive while any inline mapping remains by @manopapad in #94
- Old versions of NVCC only supported -M, not -MMD, -MF, -MP by @manopapad in #95
- Port legate.core#97 by @manopapad in #98
- Fix for deferred detachments (back-ported) by @magnatelee in #100
- Override keywords to appease Clang by @magnatelee in #104
- Remove an overzealous assertion by @magnatelee in #108
- Fix for set_storage by @magnatelee in #109
- Fix dependency generation for .cu files by @manopapad in #114
- Remove jsrun option not supported on lassen by @manopapad in #116
- Minor bugfix in debugging code by @manopapad in #117
- Pin setuptools version, to work around breaking change by @manopapad in #124
- bug fix in install.py by @sunwayihep in #105
- Don't apply python installation fix under setuptools<60 by @manopapad in #132
Documentation
New Contributors
- @sunwayihep made their first contribution in #105
Full Changelog: v21.11.00...v22.01.00
v21.11.00
This is the initial public alpha release of Legate Core library. This release supports the initial release of cuNumeric.
Conda packages for this release are available at https://anaconda.org/legate/legate-core.
What's Changed
- CI Infrastructure by @marcinz in #18
- Added ENVVARs for some launcher options. by @jefflarkin in #20
- Support initializing FieldSpace from existing handle by @manopapad in #13
- Development of CI by @marcinz in #19
- Add testing to CI by @marcinz in #22
- Update the core CI to match the other repositories by @marcinz in #28
- Force left alignment for pointers and references by @magnatelee in #30
- Invoke srun in pseudo-terminal mode when using (cuda-)gdb by @manopapad in #32
- A utility for deferred buffers by @magnatelee in #34
- Improve the auto-partitioner, part 1 by @magnatelee in #33
- Clean up install script by @manopapad in #35
- Missing virtual from destructor by @manopapad in #36
- Fix for delinearization's inversion function by @magnatelee in #37
- Fix overzealous checks on dimensions by @magnatelee in #38
- Suppress some -Wswitch warnings by @manopapad in #39
- When generating CI images, name them after the branch by @marcinz in #31
- Remove some operators that were defined in Legion by @manopapad in #41
- Explicit checks for underlying Legion handle equality by @manopapad in #42
- Cache index partitions created for index spaces by @magnatelee in #43
- Formalize "scalar" property on Stores by @manopapad in #46
- Clarify documentation on --python-lib install option by @manopapad in #49
- Process output in a separate step that is always executed by @marcinz in #50
- adding docs for git, versions, and changelog by @mmccarty in #44
- Make sure that images for pull request get named properly by @marcinz in #51
- Revert installation defaults to CUDA & OpenMP off by @manopapad in #52
- Switch the default Legion branch to control_replication by @magnatelee in #55
- Refactor the task wrapper for scalar outputs by @magnatelee in #54
- Stop jobs on forks by @marcinz in #56
- Use data structures with deterministic iteration order in the solver by @manopapad in #58
- Mapping API (part 1) by @magnatelee in #47
- Interface for registering and retrieving reduction operators by @magnatelee in #59
- Fixes for transformations by @magnatelee in #60
- Dead code elimination by @magnatelee in #61
- Reorganizing source files by @magnatelee in #62
- Fix cases where transpose treats axes in the wrong direction by @manopapad in #64
- Functions for debug-printing Transforms on the C++ side by @manopapad in #65
- Improve support for incremental builds by @manopapad in #63
- Update for changes to FutureMap functions in Legion C interface by @manopapad in #66
- Properly count subregion reference destruction towards root region unmapping by @manopapad in #67
- Support attaching onto existing Stores + related cleanups by @manopapad in #68
- Rearrange user flags by @magnatelee in #69
- Mapper fix by @magnatelee in #70
- Remove
--no-interpreterby @magnatelee in #71 - Minor fix for launcher by @magnatelee in #72
- Allow scalars to own buffers by @magnatelee in #73
- Support for affine images and store colocation by @magnatelee in #74
- Lazy evaluation support by @magnatelee in #75
- Minor fix for scalar by @magnatelee in #76
- Minor fix for the cost function by @magnatelee in #79
- Field reuse tunables by @magnatelee in #82
- Object cycle fix by @magnatelee in #84
- Fix for Issue 77 by @lightsighter in #78
- Bug fix for base mapper by @magnatelee in #91
- Fix import of legion CFFI by @manopapad in #97
- Fix for deferred detachments by @magnatelee in #99
- Release 21.11.00 by @marcinz in #102
New Contributors
- @marcinz made their first contribution in #18
- @jefflarkin made their first contribution in #20
- @mmccarty made their first contribution in #44
- @lightsighter made their first contribution in #78
Full Changelog: https://github.com/nv-legate/legate.core/commits/v21.11.00