Change the name of clear sram to run cleaner shader
The function is to clean the local data in LDS/GPRs. The clear sram is misleading. Change-Id: I0385e6d6348602fe0f347d17e48ed8983f7ceb87
Tento commit je obsažen v:
@@ -579,7 +579,7 @@ Reset Arguments:
|
||||
-C, --compute-partition Reset compute partitions on the specified GPU
|
||||
-M, --memory-partition Reset memory partitions on the specified GPU
|
||||
-o, --power-cap Reset power capacity limit to max capable
|
||||
-l, --clear-sram-data Clear the GPU SRAM data
|
||||
-l, --run-shader SHADER_NAME Run the shader on processor. Only CLEANER shader can be used to clean up data in LDS/GPRs
|
||||
|
||||
Command Modifiers:
|
||||
--json Displays output in JSON format (human readable by default).
|
||||
|
||||
@@ -3730,7 +3730,7 @@ class AMDSMICommands():
|
||||
|
||||
def reset(self, args, multiple_devices=False, gpu=None, gpureset=None,
|
||||
clocks=None, fans=None, profile=None, xgmierr=None, perf_determinism=None,
|
||||
compute_partition=None, memory_partition=None, power_cap=None, clear_sram_data=None):
|
||||
compute_partition=None, memory_partition=None, power_cap=None, run_shader=None):
|
||||
"""Issue reset commands to target gpu(s)
|
||||
|
||||
Args:
|
||||
@@ -3746,7 +3746,7 @@ class AMDSMICommands():
|
||||
compute_partition (bool, optional): Value override for args.compute_partition. Defaults to None.
|
||||
memory_partition (bool, optional): Value override for args.memory_partition. Defaults to None.
|
||||
power_cap (bool, optional): Value override for args.power_cap. Defaults to None.
|
||||
clear_sram_data (bool, optional): Value override for args.clear_sram_data. Defaults to None.
|
||||
run_shader (bool, optional): Value override for args.run_cleaner_shader. Defaults to None.
|
||||
|
||||
Raises:
|
||||
ValueError: Value error if no gpu value is provided
|
||||
@@ -3776,8 +3776,8 @@ class AMDSMICommands():
|
||||
args.memory_partition = memory_partition
|
||||
if power_cap:
|
||||
args.power_cap = power_cap
|
||||
if clear_sram_data:
|
||||
args.clear_sram_data = clear_sram_data
|
||||
if run_shader:
|
||||
args.run_shader = run_shader
|
||||
|
||||
# Handle No GPU passed
|
||||
if args.gpu == None:
|
||||
@@ -3796,7 +3796,7 @@ class AMDSMICommands():
|
||||
# Error if no subcommand args are passed
|
||||
if not any([args.gpureset, args.clocks, args.fans, args.profile, args.xgmierr, \
|
||||
args.perf_determinism, args.compute_partition, args.memory_partition, \
|
||||
args.power_cap, args.clear_sram_data]):
|
||||
args.power_cap, args.run_shader]):
|
||||
command = " ".join(sys.argv[1:])
|
||||
raise AmdSmiRequiredCommandException(command, self.logger.format)
|
||||
|
||||
@@ -3947,16 +3947,16 @@ class AMDSMICommands():
|
||||
raise PermissionError('Command requires elevation') from e
|
||||
raise ValueError(f"Unable to reset power cap to {default_power_cap_in_w} on GPU {gpu_id}") from e
|
||||
self.logger.store_output(args.gpu, 'powercap', f"Successfully set power cap to {default_power_cap_in_w}")
|
||||
if args.clear_sram_data:
|
||||
if args.run_shader:
|
||||
try:
|
||||
# Only 1 can be used for now.
|
||||
amdsmi_interface.amdsmi_set_gpu_clear_sram_data(args.gpu, 1)
|
||||
result = 'Successfully clear GPU SRAM data'
|
||||
amdsmi_interface.amdsmi_set_gpu_run_cleaner_shader(args.gpu, 1)
|
||||
result = 'Successfully clean GPU local data'
|
||||
except amdsmi_exception.AmdSmiLibraryException as e:
|
||||
if e.get_error_code() == amdsmi_interface.amdsmi_wrapper.AMDSMI_STATUS_NO_PERM:
|
||||
raise PermissionError('Command requires elevation') from e
|
||||
raise ValueError(f"Unable to clear SRAM data on GPU {gpu_id}") from e
|
||||
self.logger.store_output(args.gpu, 'clear_sram_data', result)
|
||||
raise ValueError(f"Unable to clean local data on GPU {gpu_id}") from e
|
||||
self.logger.store_output(args.gpu, 'run_shader', result)
|
||||
|
||||
if multiple_devices:
|
||||
self.logger.store_multiple_device_output()
|
||||
|
||||
@@ -1061,7 +1061,7 @@ class AMDSMIParser(argparse.ArgumentParser):
|
||||
reset_compute_help = "Reset compute partitions on the specified GPU"
|
||||
reset_memory_help = "Reset memory partitions on the specified GPU"
|
||||
reset_power_cap_help = "Reset power capacity limit to max capable"
|
||||
reset_gpu_clear_sram_data_help = "Clear the GPU SRAM data\n"
|
||||
reset_gpu_run_cleaner_shader_help = "Run the shader on processor. Only CLEANER shader can be used to clean up data in LDS/GPRs"
|
||||
|
||||
# Create reset subparser
|
||||
reset_parser = subparsers.add_parser('reset', help=reset_help, description=reset_subcommand_help)
|
||||
@@ -1087,7 +1087,7 @@ class AMDSMIParser(argparse.ArgumentParser):
|
||||
reset_parser.add_argument('-o', '--power-cap', action='store_true', required=False, help=reset_power_cap_help)
|
||||
|
||||
# Add Baremetal and Virtual OS reset arguments
|
||||
reset_parser.add_argument('-l', '--clear-sram-data', action='store_true', required=False, help=reset_gpu_clear_sram_data_help)
|
||||
reset_parser.add_argument('-l', '--run-shader', action='store', choices=["CLEANER"], type=str.upper, required=False, help=reset_gpu_run_cleaner_shader_help, metavar='SHADER_NAME')
|
||||
|
||||
|
||||
def _add_monitor_parser(self, subparsers, func):
|
||||
|
||||
Odkázat v novém úkolu
Zablokovat Uživatele