[PATCH 00/25] Add KFD GPUVM support for dGPUs
Christian König
ckoenig.leichtzumerken at gmail.com
Sat Jan 27 09:08:54 UTC 2018
Am 27.01.2018 um 02:09 schrieb Felix Kuehling:
> I split this into an AMDGPU and AMDKFD part. The bigger patches that
> add lots of new code are not cherry-picked and squashed. Instead I
> copied, reorganized and cleaned up the code by hand and then split it
> into some semblance of a sensible history. I acknowledged major
> contributors with signed-off-by lines but didn't list everyone who
> ever touched that code (would probably be most of the team).
>
> I pushed an updated Thunk (rebased on ROCm 1.7) that works with this
> KFD update. Most testing was done on Fiji with KFDTest (Yong started
> working on open-sourcing it). I was also able to run the OpenCL
> version of SHOC, though most sub-tests still fail.
>
> KFDTest can manage VRAM and system memory, submit shader dispatches,
> receive events. I haven't tested multi-GPU yet, but in theory that
> should also work, with system memory buffers shared between multiple
> GPUs.
>
> The big missing piece at this point is support for userptr memory
> (user-allocated memory mapped for GPU access). That's giong to be my
> next patch series that should enable a much wider range of real-world
> applications.
>
> AMDGPU:
> Patches 1-5 are minor cleanups and fixes
Patches #1-#5 are Reviewed-by: Christian König <christian.koenig at amd.com>.
> Patches 6-10 add and implement KFD->KGD interfaces for GPUVM
>
> AMDKFD:
> Patches 11-13 are minor cleanups and fixes
> Patches 14-25 add all the GPUVM memory management functionality
>
> Felix Kuehling (22):
> drm/amdgpu: remove useless BUG_ONs
> drm/amdgpu: Fix header file dependencies
> drm/amdgpu: Fix wrong mask in get_atc_vmid_pasid_mapping_pasid
> drm/amdgpu: Remove unused kfd2kgd interface
> drm/amdgpu: Add KFD eviction fence
> drm/amdgpu: Update kgd2kfd_shared_resources for dGPU support
> drm/amdgpu: add amdgpu_sync_clone
> drm/amdgpu: Add GPUVM memory management functions for KFD
> drm/amdgpu: Add submit IB function for KFD
> drm/amdkfd: Add missing #ifdef CONFIG_AMD_IOMMU_V2 guard
> drm/amdkfd: Use per-device sched_policy
> drm/amdkfd: Add GPUVM virtual address space to PDD
> drm/amdkfd: Implement KFD process eviction/restore
> uapi: Fix type used in ioctl parameter structures
> drm/amdkfd: Remove limit on number of GPUs
> drm/amdkfd: Aperture setup for dGPUs
> drm/amdkfd: Add per-process IDR for buffer handles
> drm/amdkfd: Allocate CWSR trap handler memory for dGPUs
> drm/amdkfd: Add TC flush on VMID deallocation for Hawaii
> drm/amdkfd: Add ioctls for GPUVM memory management
> drm/amdkfd: Kmap event page for dGPUs
> drm/amdkfd: Add module option for testing large-BAR functionality
>
> Harish Kasiviswanathan (1):
> drm/amdkfd: Remove unaligned memory access
>
> Oak Zeng (1):
> drm/amdkfd: Populate DRM render device minor
>
> Yong Zhao (1):
> drm/amdgpu: Replace kgd_mem with amdgpu_bo for kernel pinned gtt mem
>
> drivers/gpu/drm/amd/amdgpu/Makefile | 2 +
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 127 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 115 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c | 196 +++
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 80 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 82 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 1500 ++++++++++++++++++++
> drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 4 +
> drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 2 +
> drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 6 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 53 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_sync.h | 1 +
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 25 +
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 1 +
> drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 484 +++++++
> drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 3 +
> drivers/gpu/drm/amd/amdkfd/kfd_device.c | 65 +-
> .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 290 +++-
> .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 9 +
> drivers/gpu/drm/amd/amdkfd/kfd_events.c | 31 +-
> drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 59 +-
> drivers/gpu/drm/amd/amdkfd/kfd_module.c | 7 +
> drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 37 +
> drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 79 +-
> drivers/gpu/drm/amd/amdkfd/kfd_process.c | 490 ++++++-
> drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 4 +
> drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 1 +
> drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 101 +-
> include/uapi/linux/kfd_ioctl.h | 87 +-
> 29 files changed, 3811 insertions(+), 130 deletions(-)
> create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
> create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
>
More information about the amd-gfx
mailing list