# GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator

Easy to integrate memory allocation library for Direct3D 12

Repository: https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator
Canonical: https://ross.abutalabs.com/products/d3d12memoryallocator
Language: C++
License: MIT
License Family: permissive
Topics: memory-management, direct3d12, d3d12, directx12, directx, directx-12
Last push: 2026-06-04T22:56:30+00:00

## Health v2 (maintenance only)
Score: 80/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 85, release rhythm 63, longevity 100
- inputs: {"age_days": 2637, "days_push": 90, "days_rel": 90, "gap_med": 100, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1023, forks 117 (observed 2026-08-28T04:03:16.140964+00:00)

## What it is
A C++ library from AMD GPUOpen that simplifies memory allocation and resource creation in Direct3D 12 by suballocating large memory heaps into placed resources. It is the D3D12 equivalent of the widely used Vulkan Memory Allocator library.

## Use cases
- manage GPU memory allocation in a D3D12 renderer
- suballocate buffers and textures from large heaps in DirectX 12
- handle resource heap tiers automatically in D3D12
- create custom memory pools for GPU resources
- support resource aliasing in a custom game engine
- allocate GPU upload heaps with the Agility SDK

## When to choose
- you are writing a Direct3D 12 renderer or engine and need efficient VRAM suballocation
- you want a drop-in replacement for ID3D12Device::CreateCommittedResource with better memory reuse
- you already use Vulkan Memory Allocator and want a consistent API on D3D12
- you need thread-safe, well-documented memory management for multithreaded rendering

## When to avoid
- your project targets older APIs like Direct3D 11 or OpenGL
- you use Vulkan or another graphics API instead of D3D12
- you rely on committed resources exclusively and don't need suballocation

## Facets
- artifact type: library
- maturity: stable
- function: graphics, simulation
- domain: graphics, developer-tools
- platform: windows, cpp, cross-platform
- tags: d3d12, directx12, memory-management, gpu-memory, vram, game-engine, c++, game-development

## Member repositories
- GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator (main) score 80

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:16.140964+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:08:16.760729+00:00, confidence not recorded.
  - readme: https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator (fetched 2026-08-28T04:03:16.140964+00:00, sha 37f4e1649273)
- Data as of 2026-08-30T08:39:29.467469+00:00.
