GitPedia
oneapi-src

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.

15 Releases
Latest: 4mo ago
UMF 1.1.0v1.1.0Latest
lukaszstolarczuklukaszstolarczuk·4mo ago·February 3, 2026
GitHub

📋 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
UMF 1.0.3v1.0.3
lukaszstolarczuklukaszstolarczuk·9mo ago·September 16, 2025
GitHub

📋 Changes

  • load libcuda.so.1 instead of libcuda.so on linux (#1518)
UMF 1.0.2v1.0.2
lukaszstolarczuklukaszstolarczuk·9mo ago·September 3, 2025
GitHub

📋 Changes

  • initialize hwloc topology only before first fork, not always (#1509)
UMF 1.0.1v1.0.1
lukaszstolarczuklukaszstolarczuk·10mo ago·August 8, 2025
GitHub

📋 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
UMF 1.0.0v1.0.0
lukaszstolarczuklukaszstolarczuk·11mo ago·July 21, 2025
GitHub

📋 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
UMF 0.11.2v0.11.2
lukaszstolarczuklukaszstolarczuk·1y ago·May 12, 2025
GitHub

📋 Changes

  • retrieve numanode object by os index instead of logical index (#1309)
UMF 0.11.1v0.11.1
lukaszstolarczuklukaszstolarczuk·1y ago·May 8, 2025
GitHub

📋 Changes

  • check global state destruction in destructors (#1297)
  • a minor change in UMF logs (#1299)
UMF 0.11.0v0.11.0
lukaszstolarczuklukaszstolarczuk·1y ago·April 17, 2025
GitHub

📋 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
UMF 0.10.1v0.10.1
lukaszstolarczuklukaszstolarczuk·1y ago·January 10, 2025
GitHub

📋 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)
UMF 0.10.0v0.10.0
lukaszstolarczuklukaszstolarczuk·1y ago·December 9, 2024
GitHub

📋 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
UMF 0.9.1v0.9.1
lukaszstolarczuklukaszstolarczuk·1y ago·November 12, 2024
GitHub

📋 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
UMF 0.9.0v0.9.0
lukaszstolarczuklukaszstolarczuk·1y ago·September 12, 2024
GitHub

📋 Changes

  • IPC API
  • fixes in the building system
  • proper versioning
  • minor patches in the source code
  • improved CI and docs
UMF 0.9.0-rc2v0.9.0-rc2Pre-release
lukaszstolarczuklukaszstolarczuk·1y ago·July 31, 2024
GitHub

📋 What's Changed

  • Full Changelog: https://github.com/oneapi-src/unified-memory-framework/compare/v0.9.0-rc1...v0.9.0-rc2
UMF 0.9.0-rc1v0.9.0-rc1Pre-release
lukaszstolarczuklukaszstolarczuk·1y ago·July 18, 2024
GitHub

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.

UMF 0.1.0v0.1.0Pre-release
lukaszstolarczuklukaszstolarczuk·1y ago·July 4, 2024
GitHub

📋 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