[PATCH 00/37] KFD dGPU topology and initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Dec 9, 2017 at 6:08 AM, Felix Kuehling <Felix.Kuehling at amd.com> wrote:
> This patch series adds support for dGPU topology to KFD and implements
> everything needed to initialize KFD on dGPUs.

I'm excited!

>
> This is still missing dGPU memory management APIs, so it's not going to
> be able to run any user mode tests yet. But device information about CPUs
> and supported dGPUs should be reported correctly in
> /sys/class/kfd/kfd/topology/nodes/*.
>
> Patches 1-10 are small fixes and additions to the topology code.
> Patches 11-19 reorganize the topology code to prepare for dGPU support.
> Patches 20 and 21 add topology support for CPUs and dGPUs respectively.
> Patches 22-28 add more topology features and fixes/workarounds.
> Patch 29 adds a helper to enable PCIe atomics to the PCI driver.
We'll need to find someone to RB this patch.

> Patches 30-36 enable KFD initialization on dGPUs
> Patch 37 enables KFD initialization on supported dGPUs in AMDGPU.
>
> This is my last patch series this year. I worked hard to finish this
> before my year-end vacation.

I know it was hard work. Well done! You deserve a big Christmas
present this year ;)

I'll try to go over all of the patches in time for 4.16, and I really
think we can make it.
Are you available for fixes in these patches in case the need arises ?

Thanks,
Oded

>
> Amber Lin (1):
>   drm/amdkfd: Add perf counters to topology
>
> Ben Goz (1):
>   drm/amdkfd: Add AQL Queue Memory flag on topology
>
> Felix Kuehling (13):
>   drm/amdkfd: Group up CRAT related functions
>   drm/amdkfd: Turn verbose topology messages into pr_debug
>   drm/amdkfd: Simplify counting of memory banks
>   drm/amdkfd: Add topology support for CPUs
>   drm/amdkfd: Module option to disable CRAT table
>   drm/amdkfd: Conditionally enable PCIe atomics
>   drm/amdkfd: Make IOMMUv2 code conditional
>   drm/amdkfd: Make sched_policy a per-device setting
>   drm/amdkfd: Add dGPU support to the device queue manager
>   drm/amdkfd: Add dGPU support to the MQD manager
>   drm/amdkfd: Add dGPU support to kernel_queue_init
>   drm/amdkfd: Add dGPU device IDs and device info
>   drm/amdgpu: Enable KFD initialization on dGPUs
>
> Flora Cui (3):
>   drm/amd: add new interface to query cu info
>   drm/amdgpu: add amdgpu interface to query cu info
>   drm/amdkfd: Update number of compute unit from KGD
>
> Harish Kasiviswanathan (13):
>   drm/amd: Add get_local_mem_info to KGD-KFD interface
>   drm/amdgpu: Implement get_local_mem_info
>   drm/amdkfd: Stop using get_vmem_size KGD-KFD interface
>   drm/amdkfd: Remove deprecated get_vmem_size
>   drm/amd: Remove get_vmem_size from KGD-KFD interface
>   drm/amdkfd: Topology: Fix location_id
>   drm/amdkfd: Reorganize CRAT fetching from ACPI
>   drm/amdkfd: Decouple CRAT parsing from device list update
>   drm/amdkfd: Support enumerating non-GPU devices
>   drm/amdkfd: sync IOLINK defines to thunk spec
>   drm/amdkfd: Fix sibling_map[] size
>   drm/amdkfd: Add topology support for dGPUs
>   drm/amdkfd: Ignore ACPI CRAT for non-APU systems
>
> Jay Cornwall (1):
>   PCI: Add pci_enable_atomic_ops_to_root
>
> Kent Russell (3):
>   drm/amdkfd: Coding style cleanup
>   drm/amdgpu: Add support for reporting VRAM usage
>   drm/amdkfd: Add support for displaying VRAM usage
>
> Philip Cox (1):
>   drm/amdkfd: Fixup incorrect info in the CZ CRAT table
>
> Yong Zhao (1):
>   drm/amdkfd: Fix memory leaks in kfd topology
>
>  drivers/gpu/drm/amd/amdgpu/amdgpu.h                |    1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c         |   65 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h         |    5 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c  |    4 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c  |    4 +-
>  drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c              |    7 +
>  drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c              |    5 +
>  drivers/gpu/drm/amd/amdkfd/Kconfig                 |    2 +-
>  drivers/gpu/drm/amd/amdkfd/Makefile                |    2 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_chardev.c           |    3 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_crat.c              | 1271 ++++++++++++++++++++
>  drivers/gpu/drm/amd/amdkfd/kfd_crat.h              |   42 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c            |    3 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_device.c            |  230 +++-
>  .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c  |   33 +-
>  .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h  |    5 +
>  .../drm/amd/amdkfd/kfd_device_queue_manager_cik.c  |   56 +
>  .../drm/amd/amdkfd/kfd_device_queue_manager_vi.c   |   93 ++
>  drivers/gpu/drm/amd/amdkfd/kfd_events.c            |    2 +
>  drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c       |    7 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c      |    5 +
>  drivers/gpu/drm/amd/amdkfd/kfd_module.c            |    5 +
>  drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c       |    7 +
>  drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c   |   35 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c    |   21 +
>  drivers/gpu/drm/amd/amdkfd/kfd_pasid.c             |    2 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_priv.h              |   21 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_process.c           |   17 +-
>  .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c |    3 +-
>  drivers/gpu/drm/amd/amdkfd/kfd_topology.c          | 1054 +++++++++-------
>  drivers/gpu/drm/amd/amdkfd/kfd_topology.h          |   39 +-
>  drivers/gpu/drm/amd/include/kgd_kfd_interface.h    |   35 +-
>  drivers/pci/pci.c                                  |   81 ++
>  include/linux/pci.h                                |    1 +
>  include/uapi/linux/pci_regs.h                      |    2 +
>  35 files changed, 2656 insertions(+), 512 deletions(-)
>  create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_crat.c
>
> --
> 2.7.4
>


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux