Re: [PATCH v3 0/7] GPU workload hints for better performance

From: Helen Koike
Date: Mon Aug 28 2023 - 16:23:33 EST




On 28/08/2023 17:14, Yadav, Arvind wrote:

On 8/28/2023 9:13 PM, Helen Mae Koike Fornazier wrote:
On Monday, August 28, 2023 09:26 -03, Arvind Yadav <Arvind.Yadav@xxxxxxx> wrote:

AMDGPU SOCs supports dynamic workload based power profiles, which can
provide fine-tuned performance for a particular type of workload.
This patch series adds an interface to set/reset these power profiles
based on the submitted job. The driver can dynamically switch
the power profiles based on submitted job. This can optimize the power
performance when the particular workload is on.
Hi Arvind,

Would you mind to test your patchset with drm-ci ? There is a amdgpu
test there and I would love to get your feedback of the ci.

You basically just need to apply the ci patch which is available on
https://cgit.freedesktop.org/drm/drm/log/?h=topic/drm-ci

There are instruction on the docs, but in short: to configure it, you push
your branch to gitlab.freedesktop.org, go to the settings and change the
CI/CD configuration file from .gitlab-ci.yml to drivers/gpu/drm/ci/gitlab-ci.yml,
and you can trigger a pipeline on your branch to get tests running.

(by the time of this writing, gitlab.fdo is under maintenance but should
be up soonish).

Hi Helen,

I tried the steps as mentioned by you but looks like something is missing and build itself is failing.

https://gitlab.freedesktop.org/ArvindYadav/drm-next/-/commits/smu_workload

Thanks for your feedback!

You need to apply this patch https://gitlab.freedesktop.org/ArvindYadav/drm-next/-/commit/cc6dcff192d07f9fe82645fbc4213c97e872156b

This patch adds the file drivers/gpu/drm/ci/gitlab-ci.yml for you.

And you can drop the patch where gitlab added the ci template.

I replied here too https://gitlab.freedesktop.org/ArvindYadav/drm-next/-/commit/cc6dcff192d07f9fe82645fbc4213c97e872156b

Could you try again with that patch?

Thanks a lot!
Helen



Regards,
~Arvind

Thank you!
Helen

v2:
- Splitting workload_profile_set and workload_profile_put
   into two separate patches.
- Addressed review comment.
- Added new suspend function.
- Added patch to switches the GPU workload mode for KFD.

v3:
- Addressed all review comment.
- Changed the function name from *_set() to *_get().
- Now clearing all the profile in work handler.
- Added *_clear_all function to clear all the power profile.


Arvind Yadav (7):
   drm/amdgpu: Added init/fini functions for workload
   drm/amdgpu: Add new function to set GPU power profile
   drm/amdgpu: Add new function to put GPU power profile
   drm/amdgpu: Add suspend function to clear the GPU power profile.
   drm/amdgpu: Set/Reset GPU workload profile
   drm/amdgpu: switch workload context to/from compute
   Revert "drm/amd/amdgpu: switch on/off vcn power profile mode"

  drivers/gpu/drm/amd/amdgpu/Makefile           |   2 +-
  drivers/gpu/drm/amd/amdgpu/amdgpu.h           |   3 +
  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c    |   8 +-
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    |   6 +
  drivers/gpu/drm/amd/amdgpu/amdgpu_job.c       |   5 +
  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c       |  14 +-
  drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c  | 226 ++++++++++++++++++
  drivers/gpu/drm/amd/include/amdgpu_workload.h |  61 +++++
  8 files changed, 309 insertions(+), 16 deletions(-)
  create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_workload.c
  create mode 100644 drivers/gpu/drm/amd/include/amdgpu_workload.h

--
2.34.1