{"id":27501,"library":"umf","title":"Unified Memory Framework (UMF)","description":"UMF is a C library for constructing allocators and memory pools, with Python bindings provided by the umf package. It manages multiple memory pools for different hardware resources (CPU, GPU). Current version 1.1.0, release cadence: minor releases every few months with patch releases as needed.","status":"active","version":"1.1.0","language":"python","source_language":"en","source_url":"https://github.com/oneapi-src/unified-memory-framework","tags":["memory management","unified memory","allocators","UMF","oneAPI"],"install":[{"cmd":"pip install umf","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required for C library bindings","package":"cffi","optional":false},{"reason":"Commonly used with UMF for arrays","package":"numpy","optional":true}],"imports":[{"wrong":"from umf import UMF","symbol":"UMF","correct":"import umf"}],"quickstart":{"code":"from umf import UMF\n\n# Initialize UMF\numf = UMF()\n\n# Create a memory pool (example: JUMA pool)\npool = umf.create_pool('JUMA')\n\n# Allocate memory\nptr = pool.alloc(1024)\nprint(f\"Allocated 1024 bytes at {ptr}\")\n\n# Free memory\npool.free(ptr)","lang":"python","description":"Initializes UMF and creates a memory pool to allocate and free memory. Replace 'JUMA' with appropriate pool type for your hardware."},"warnings":[{"fix":"Migrate to umfParamsCreate/umfParamsDestroy and parameter setter/getter functions.","message":"In UMF 0.10.0, the parameters API changed from direct struct access to a new set/get API. Code using UMF_PARAMS or similar struct fields will break.","severity":"breaking","affected_versions":"<0.10.0"},{"fix":"Remove any usage of UMF_DISABLE_HWLOC. hwloc topology is now initialized automatically.","message":"UMF_DISABLE_HWLOC option was removed in UMF 1.1.0.","severity":"deprecated","affected_versions":"<=1.1.0"},{"fix":"Check UMF documentation for which providers are available in your build. Use umf.supported_providers() to list them.","message":"The Python package 'umf' wraps only a subset of the C library. Some providers (e.g., Level Zero, CUDA) are only available if the C library was built with those backends.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'1.1.0':37 'alloc':12,54 'bind':18 'c':8 'cadenc':39 'construct':11 'cpu':33 'current':35 'differ':30 'everi':42 'framework':3 'gpu':34 'hardwar':31 'librari':9 'manag':25,51 'memori':2,14,27,50,53 'minor':40 'month':44 'multipl':26 'need':49 'oneapi':56 'packag':23 'patch':46 'pool':15,28 'provid':19 'python':17 'releas':38,41,47 'resourc':32 'umf':4,5,22,55 'unifi':1,52 'version':36","created_at":"2026-05-01T17:46:35.779866+00:00","updated_at":"2026-05-01T17:46:35.779866+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nModuleNotFoundError: No module named 'umf'"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/oneapi-src/unified-memory-framework","docs":null,"changelog":null,"pypi":"https://pypi.org/project/umf/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}