--- id: umf version: "1.1.0" license: Apache-2.0 with LLVM exceptions license_treatment: permissive maintenance: active --- # umf — Unified Memory Framework License: permissive · Maintenance: active · Downloads: 586.6K/mo ## What it is and what it does UMF is a memory management framework that lets you build custom allocators and manage multiple memory pools with different characteristics. It abstracts memory providers (which handle coarse-grained allocation from the OS or fixed buffers) and pool allocators (which handle fine-grained allocation and pooling), allowing you to isolate different allocation types and direct them to different hardware resources as needed. The library ships as a compiled wheel and depends on tcmlib at runtime. It supports both Linux and Windows platforms and includes predefined providers (OS memory, fixed buffer) and allocators, as well as interfaces for writing custom ones. While the description emphasizes C/C++ usage with examples in those languages, the Python package metadata and wheel distribution suggest some Python-facing capability, though the extent and maturity of Python bindings are not clearly documented in the fact sheet. Use it for: - Isolate GPU memory allocations (via Level Zero or CUDA providers) from CPU allocations in heterogeneous compute applications - Build custom memory pools with different performance characteristics (e.g., jemalloc-backed vs. OS-backed) for different workload phases - Manage pre-allocated fixed buffers for real-time or embedded systems where allocation patterns must be deterministic - Benchmark and profile memory allocation behavior using UMF's built-in micro-benchmarks and statistics APIs - Implement IPC (inter-process communication) with shared memory on Linux using the OS provider's shared memory mapping mode ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. UMF is a library for constructing and managing memory allocators and pools, allowing isolation of different allocation types across multiple memory pools with distinct attributes and hardware resources. Yes, with conditions. UMF is actively maintained, permissively licensed, and has no known vulnerabilities. Install it if you need fine-grained control over memory allocation strategies across multiple pools or hardware resources. However, verify that Python bindings meet your needs first—the package appears to be primarily a C/C++ library, and the extent of Python integration is unclear from the metadata. Medium install friction due to compiled dependencies is acceptable for the use case. ## Install pip install umf uv add umf poetry add umf ## Installing umf Before you install: Medium install friction due to compiled wheels and a runtime dependency on tcmlib. The package is actively maintained with recent commits and has been in production use since its initial release in October 2024. License in practice: Licensed under Apache-2.0 with LLVM exceptions (permissive). This allows commercial and private use with minimal restrictions, though you should review the LLVM exception clause for your specific use case. Quickstart: pip install umf import umf # UMF is primarily a C/C++ library; Python bindings or usage patterns depend on tcmlib integration UMF is a compiled C/C++ library distributed as a wheel. Requires compatible system architecture (x86_64 on Linux/Windows) and tcmlib as a runtime dependency. Verify before relying: - Whether Python bindings are fully functional or if this is primarily a C/C++ library with limited Python exposure - Specific Python version support (requires_python is unspecified in metadata) - How tcmlib integrates with UMF and what additional setup may be needed - Whether the library requires system-level dependencies beyond tcmlib (e.g., hwloc, compiler toolchain) ## Package facts - License: Apache-2.0 with LLVM exceptions (permissive) - Python support: unspecified - Install friction: medium - Maintenance: active - Downloads: 586.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags memory pool allocator, unified memory management, custom memory provider, memory isolation framework, hardware-aware memory allocation, memory pool abstraction, allocator construction library, memory-management, allocator, heterogeneous-compute [View on SkillFed](https://skillfed.io/packages/umf) · [View on PyPI](https://pypi.org/project/umf/)