oneapi-src/unified-memory-framework
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.
📋 Changes
- Add memory properties API (#1301)
- Implement Level Zero memory eviction (#1534)
- Add umfPoolTrimMemory() (#1318)
- Add "set name" to all pools and providers (#1445)
- Expose disjoint pool stats through CTL (#1487)
- Allow using pool/provider names in CTL (#1471)
- Allow controlling logger through CTL (#1446)
- Extend CTL capabilities and add its documentation (#1524)
- + 6 more
✨ New Contributors
- @sarnex made their first contribution in https://github.com/oneapi-src/unified-memory-framework/pull/1482
- @Copilot made their first contribution in https://github.com/oneapi-src/unified-memory-framework/pull/1549
- Full Changelog: https://github.com/oneapi-src/unified-memory-framework/compare/v1.0.3...v1.1.0
📋 Changes
- load libcuda.so.1 instead of libcuda.so on linux (#1518)
📋 Changes
- initialize hwloc topology only before first fork, not always (#1509)
📋 Changes
- make topology_init faster (#1469)
- verify if the provider supports the split operation (#1465)
- fix build failure when building for jemalloc with ninja (#1474)
✨ New Contributors
- @blenderfreaky made their first contribution in https://github.com/oneapi-src/unified-memory-framework/pull/1476
📋 Changes
- 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)
- new experimental CTL API (i.a. #913, #1073, #1206)
- add umfPoolGetName (#1320)
- use multiple arenas in Jemalloc pool (#1214)
- make umfInit thread-safe (#1399)
- + 4 more
✨ New Contributors
- @idubinov made their first contribution in https://github.com/oneapi-src/unified-memory-framework/pull/1218
- @ldrumm made their first contribution in https://github.com/oneapi-src/unified-memory-framework/pull/1428
- @opensource-krzysztof made their first contribution in https://github.com/oneapi-src/unified-memory-framework/pull/1438
📋 Changes
- retrieve numanode object by os index instead of logical index (#1309)
📋 Changes
- check global state destruction in destructors (#1297)
- a minor change in UMF logs (#1299)
📋 Changes
- 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
- + 5 more
✨ New Contributors
- @luszczewskakasia1 made their first contribution in https://github.com/oneapi-src/unified-memory-framework/pull/994
- @rbanka1 made their first contribution in https://github.com/oneapi-src/unified-memory-framework/pull/1028
- @pbalcer made their first contribution in https://github.com/oneapi-src/unified-memory-framework/pull/1132
📋 Changes
- 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)
📋 Changes
- updated Level Zero Provider
- new API to handle UMF parameters (replacing previous struct's)
- extended IPC API testing
- new Memtarget and Memspace API
- multiple fixes in the source code
- extended code coverage reporting
- improved CI and testing
- new examples
- + 2 more
📋 Changes
- fix for the apply of the HWLOC security patch by @bratpiorka in https://github.com/oneapi-src/unified-memory-framework/pull/854
- [v0.9.x] Fix disabling of pci support in hwloc by @PatKamin in https://github.com/oneapi-src/unified-memory-framework/pull/867
- Add a RUNPATH to installed libumf.so by @PatKamin in https://github.com/oneapi-src/unified-memory-framework/pull/882
📋 Changes
- IPC API
- fixes in the building system
- proper versioning
- minor patches in the source code
- improved CI and docs
📋 What's Changed
- Full Changelog: https://github.com/oneapi-src/unified-memory-framework/compare/v0.9.0-rc1...v0.9.0-rc2
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.
📋 Changes
- Level Zero memory provider
- OS memory provider
- Jemalloc pool (based on jemalloc)
- Scalable pool (based on oneTBB)
- Disjoint pool
- Proxy pool
- Single-threaded micro benchmark based on ubench and custom multi-threaded benchmark
- Examples
