From 1b36ce7e6dcf3809c8acdca594164e41cc69fbfa Mon Sep 17 00:00:00 2001 From: Ori Messinger Date: Fri, 18 Sep 2020 03:10:38 -0400 Subject: [PATCH] ROCm SMI Python CLI: Implement --setclock for all Valid Clocks The purpose of this patch is to implement --setclock functionality for all of the valid clocks (can be set with --setclock TYPE LEVEL). The valid clocks are: dcefclk, fclk, mclk, pcie, sclk, socclk. This functionality uses the existing 'setClocks' method. Change-Id: I1d62baf372427ac1c0642c26a949663b673ef335 Signed-off-by: Ori Messinger [ROCm/rocm_smi_lib commit: 4ed1c1d49268a5febc1f4cc6b72ff4a2a52bb4ac] --- projects/rocm-smi-lib/python_smi_tools/rocm_smi.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/projects/rocm-smi-lib/python_smi_tools/rocm_smi.py b/projects/rocm-smi-lib/python_smi_tools/rocm_smi.py index 4897ffead6..26087fd83d 100755 --- a/projects/rocm-smi-lib/python_smi_tools/rocm_smi.py +++ b/projects/rocm-smi-lib/python_smi_tools/rocm_smi.py @@ -2386,6 +2386,8 @@ if __name__ == '__main__': help='Set the maximum GPU power back to the device deafult state', action='store_true') groupActionReset.add_argument('--resetxgmierr', help='Reset XGMI error count', action='store_true') + groupAction.add_argument('--setclock', help='Set Clock Frequency Level(s) for specified clock (requires manual Perf level)', + type=str, metavar='LEVEL', nargs=2) groupAction.add_argument('--setsclk', help='Set GPU Clock Frequency Level(s) (requires manual Perf level)', type=int, metavar='LEVEL', nargs='+') groupAction.add_argument('--setmclk', help='Set GPU Memory Clock Frequency Level(s) (requires manual Perf level)', @@ -2475,7 +2477,7 @@ if __name__ == '__main__': args.load or args.resetclocks or args.setprofile or args.resetprofile or args.setoverdrive or \ args.setmemoverdrive or args.setpoweroverdrive or args.resetpoweroverdrive or \ args.rasenable or args.rasdisable or args.rasinject or args.gpureset or \ - args.setslevel or args.setmlevel or args.setvc or args.setsrange or args.setmrange: + args.setslevel or args.setmlevel or args.setvc or args.setsrange or args.setmrange or args.setclock: relaunchAsSudo() if not PRINT_JSON: @@ -2629,6 +2631,8 @@ if __name__ == '__main__': showRange(deviceList, 'voltage') if args.showvc: showVoltageCurve(deviceList) + if args.setclock: + setClocks(deviceList, args.setclock[0], args.setclock[1]) if args.setsclk: setClocks(deviceList, 'sclk', args.setsclk) if args.setmclk: