• Lang Yu's avatar
    drm/amdkfd: Let VRAM allocations go to GTT domain on small APUs · 89773b85
    Lang Yu authored
    Small APUs(i.e., consumer, embedded products) usually have a small
    carveout device memory which can't satisfy most compute workloads
    memory allocation requirements.
    
    We can't even run a Basic MNIST Example with a default 512MB carveout.
    https://github.com/pytorch/examples/tree/main/mnist. Error Log:
    
    "torch.cuda.OutOfMemoryError: HIP out of memory. Tried to allocate
    84.00 MiB. GPU 0 has a total capacity of 512.00 MiB of which 0 bytes
    is free. Of the allocated memory 103.83 MiB is allocated by PyTorch,
    and 22.17 MiB is reserved by PyTorch but unallocated"
    
    Though we can change BIOS settings to enlarge carveout size,
    which is inflexible and may bring complaint. On the other hand,
    the memory resource can't be effectively used between host and device.
    
    The solution is MI300A approach, i.e., let VRAM allocations go to GTT.
    Then device and host can flexibly and effectively share memory resource.
    
    v2: Report local_mem_size_private as 0. (Felix)
    Signed-off-by: default avatarLang Yu <Lang.Yu@amd.com>
    Reviewed-by: default avatarFelix Kuehling <felix.kuehling@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    89773b85
kfd_migrate.c 28.7 KB