Releases: oneapi-src/unified-memory-framework
UMF 1.0.0
The Unified Memory Framework (UMF) is a library for constructing allocators and memory pools. It also contains broadly useful abstractions and utilities for memory management. UMF allows users to manage multiple memory pools characterized by different attributes, allowing certain allocation types to be isolated from others and allocated using different hardware resources as required.
While this is the first UMF release with the backward compatibility guarantee, part of the library's API (at the moment: CTL, memspace, memtarget, and mempolicy) is still experimental and may change in future releases.
Due to cleanup and improvements there have been some API changes made:
- add const qualifier to parameters, where applicable (#1257, #1266)
- unify return values (#1387, #1370)
- make pool get name an obligatory pool function (#1398)
- make out parameters the last functions' arguments (#1408)
This release contains also:
- new experimental CTL API (i.a. #913, #1073, #1206)
- add umfPoolGetName (#1320)
- use multiple arenas in Jemalloc pool (#1214)
- make umfInit thread-safe (#1399)
- add umfd debug library on Windows (#1219, #1238)
- deprecate UMF_DISABLE_HWLOC CMake build option (#1308)
- fix: numanode index retrieval (#1309)
- fix: reset base allocator destroy flag (#1326)
Full Changelog: v0.11.2...v1.0.0
New Contributors
UMF 0.11.2
This patch release contains following changes:
- retrieve numanode object by os index instead of logical index (#1309)
Full Changelog: v0.11.1...v0.11.2
UMF 0.11.1
This patch release contains following changes:
Full Changelog: v0.11.0...v0.11.1
UMF 0.11.0
This release contains:
- make disjoint pool a C structure #898
- add fixed provider #976
- remove the Coarse provider #934 and replace with internal coarse library #931, #932
- implement umfPool[Set/Get]Tag #962
- L0 provider: implement support for defer and blocking free #963
- add set/restore context in CUDA provider free() #1049
- L0 provider: implement min/recommended page size query #1059
- add support for CUDA allocation flags #1079
- increase refcount to ze_loader/CUDA libraries #1086
- implement size limit for the cache of opened IPC handles #998
- allow creating fixed provider based on allocations from another pool #1143
- multiple benchmark improvements
- new tests and CI workflows, incl. backward compatibility checks (#1087, #1163)
Full Changelog: v0.10.1...v0.11.0
New Contributors
UMF 0.10.1
This patch release contains:
- Set symbol versions 0.10 in def/map files (#1013)
- Fix: remove incorrect assert in utils_align_ptr_up_size_down() (#977)
- Add strings with UMF version and useful CMake options (#992)
- Extended error messages, when providers are disabled (#1012)
Full Changelog: v0.10.0...v0.10.1
UMF 0.10.0
In this release we introduced updates in several areas, listed below.
We still don't yet guarantee a fully stable API, though.
With new parameters' API we broke the compatibility, as we no longer support direct access to UMF params via (now internal) structures.
Significant updates:
- updated Level Zero Provider
- new API to handle UMF parameters (replacing previous struct's)
- extended IPC API testing
- new Memtarget and Memspace API
Minor updates:
- multiple fixes in the source code
- extended code coverage reporting
- improved CI and testing
- new examples
- extended logging
- yet more fixes in the building system
Full Changelog: v0.9.0...v0.10.0
UMF 0.9.1
UMF 0.9.0
This release aims to be the first complete release of the UMF project. We don't yet guarantee a fully stable API, though.
This release contains all the features listed in the version 0.1.0 plus, additionally:
- IPC API
- fixes in the building system
- proper versioning
- minor patches in the source code
- improved CI and docs
Full Changelog: v0.1.0...v0.9.0
UMF 0.9.0-rc2
What's Changed
Full Changelog: v0.9.0-rc1...v0.9.0-rc2
UMF 0.9.0-rc1
This is a pre-release version. When 0.9.0 will be ready (with no rc status), it will aim to be the first complete release of the UMF project.
With this release we don't yet guarantee a fully stable API.