[SWDEV-490187 / SWDEV-491215] Remove reset gpu partition + NPS test disabled
The reset gpu partition support for both compute and memory were removed Code changes related to the following: * rsmi_dev_compute_partition_reset() * rsmi_dev_memory_partition_reset() * CLI * Unit tests * Documentation Change-Id: I3fb8570dbf9e755ae70369587ef44bbf64e17fe8 Signed-off-by: Oliveira, Daniel <daniel.oliveira@amd.com>
Этот коммит содержится в:
коммит произвёл
Charis Poag
родитель
0609cbf1d0
Коммит
a1295714f2
@@ -15,8 +15,8 @@ LD_LIBRARY_PATH should be set to the folder containing librocm_smi64.
|
||||
|
||||
## Version
|
||||
|
||||
The SMI will report two "versions", ROCM-SMI version and other is ROCM-SMI-LIB version.
|
||||
- ROCM-SMI version is the CLI/tool version number with commit ID appended after + sign.
|
||||
The SMI will report two "versions", ROCM-SMI version and other is ROCM-SMI-LIB version.
|
||||
- ROCM-SMI version is the CLI/tool version number with commit ID appended after + sign.
|
||||
- ROCM-SMI-LIB version is the library package version number.
|
||||
```
|
||||
ROCM-SMI version: 2.0.0+8e78352
|
||||
@@ -44,7 +44,7 @@ usage: rocm-smi [-h] [-V] [-d DEVICE [DEVICE ...]] [--alldevices] [--showhw] [-a
|
||||
[--showtopoaccess] [--showtopoweight] [--showtopohops] [--showtopotype] [--showtoponuma]
|
||||
[--showenergycounter] [--shownodesbw] [--showcomputepartition] [--showmemorypartition] [-r]
|
||||
[--resetfans] [--resetprofile] [--resetpoweroverdrive] [--resetxgmierr] [--resetperfdeterminism]
|
||||
[--resetcomputepartition] [--resetmemorypartition] [--setclock TYPE LEVEL] [--setsclk LEVEL [LEVEL ...]]
|
||||
[--setclock TYPE LEVEL] [--setsclk LEVEL [LEVEL ...]]
|
||||
[--setmclk LEVEL [LEVEL ...]] [--setpcie LEVEL [LEVEL ...]] [--setslevel SCLKLEVEL SCLK SVOLT]
|
||||
[--setmlevel MCLKLEVEL MCLK MVOLT] [--setvc POINT SCLK SVOLT] [--setsrange SCLKMIN SCLKMAX]
|
||||
[--setextremum min|max sclk|mclk CLK] [--setmrange MCLKMIN MCLKMAX] [--setfan LEVEL]
|
||||
@@ -185,8 +185,7 @@ Reset options:
|
||||
state
|
||||
--resetxgmierr Reset XGMI error count
|
||||
--resetperfdeterminism Disable performance determinism
|
||||
--resetcomputepartition Resets to boot compute partition state
|
||||
--resetmemorypartition Resets to boot memory partition state
|
||||
|
||||
|
||||
Auto-response options:
|
||||
--autorespond RESPONSE Response to automatically provide for all prompts
|
||||
@@ -200,8 +199,8 @@ Output options:
|
||||
```
|
||||
|
||||
## Detailed Option Descriptions
|
||||
`--setextremum <min/max> <sclk or mclk> <value in MHz to set to>`
|
||||
Provided ASIC support, users can now set a maximum or minimum sclk or mclk value through our Python CLI tool (`rocm-smi --setextremum max sclk 1500`). See example below.
|
||||
`--setextremum <min/max> <sclk or mclk> <value in MHz to set to>`
|
||||
Provided ASIC support, users can now set a maximum or minimum sclk or mclk value through our Python CLI tool (`rocm-smi --setextremum max sclk 1500`). See example below.
|
||||
|
||||
```shell
|
||||
$ sudo /opt/rocm/bin/rocm-smi --setextremum max sclk 2100
|
||||
|
||||
@@ -1158,72 +1158,6 @@ def resetPerfDeterminism(deviceList):
|
||||
printLogSpacer()
|
||||
|
||||
|
||||
def resetComputePartition(deviceList):
|
||||
""" Reset Compute Partition to its boot state
|
||||
|
||||
:param deviceList: List of DRM devices (can be a single-item list)
|
||||
"""
|
||||
printLogSpacer(" Reset compute partition to its boot state ")
|
||||
for device in deviceList:
|
||||
originalPartition = getComputePartition(device)
|
||||
ret = rocmsmi.rsmi_dev_compute_partition_reset(device)
|
||||
if rsmi_ret_ok(ret, device, 'reset_compute_partition', silent=True):
|
||||
resetBootState = getComputePartition(device)
|
||||
printLog(device, "Successfully reset compute partition (" +
|
||||
originalPartition + ") to boot state (" + resetBootState +
|
||||
")", None)
|
||||
elif ret == rsmi_status_t.RSMI_STATUS_PERMISSION:
|
||||
printLog(device, 'Permission denied', None)
|
||||
elif ret == rsmi_status_t.RSMI_STATUS_NOT_SUPPORTED:
|
||||
printLog(device, 'Not supported on the given system', None)
|
||||
elif ret == rsmi_status_t.RSMI_STATUS_BUSY:
|
||||
printLog(device, 'Device is currently busy, try again later',
|
||||
None)
|
||||
else:
|
||||
rsmi_ret_ok(ret, device, 'reset_compute_partition')
|
||||
printErrLog(device, 'Failed to reset the compute partition to boot state')
|
||||
printLogSpacer()
|
||||
|
||||
|
||||
def resetMemoryPartition(deviceList):
|
||||
""" Reset current memory partition to its boot state
|
||||
|
||||
:param deviceList: List of DRM devices (can be a single-item list)
|
||||
"""
|
||||
printLogSpacer(" Reset memory partition to its boot state ")
|
||||
for device in deviceList:
|
||||
originalPartition = getMemoryPartition(device)
|
||||
t1 = multiprocessing.Process(target=showProgressbar,
|
||||
args=("Resetting memory partition",13,))
|
||||
t1.start()
|
||||
addExtraLine=True
|
||||
start=time.time()
|
||||
ret = rocmsmi.rsmi_dev_memory_partition_reset(device)
|
||||
stop=time.time()
|
||||
duration=stop-start
|
||||
if t1.is_alive():
|
||||
t1.terminate()
|
||||
t1.join()
|
||||
if duration < float(0.1): # For longer runs, add extra line before output
|
||||
addExtraLine=False # This is to prevent overriding progress bar
|
||||
if rsmi_ret_ok(ret, device, 'reset_memory_partition', silent=True):
|
||||
resetBootState = getMemoryPartition(device)
|
||||
printLog(device, "Successfully reset memory partition (" +
|
||||
originalPartition + ") to boot state (" +
|
||||
resetBootState + ")", None, addExtraLine)
|
||||
elif ret == rsmi_status_t.RSMI_STATUS_PERMISSION:
|
||||
printLog(device, 'Permission denied', None, addExtraLine)
|
||||
elif ret == rsmi_status_t.RSMI_STATUS_NOT_SUPPORTED:
|
||||
printLog(device, 'Not supported on the given system', None, addExtraLine)
|
||||
elif ret == rsmi_status_t.RSMI_STATUS_BUSY:
|
||||
printLog(device, 'Device is currently busy, try again later',
|
||||
None)
|
||||
else:
|
||||
rsmi_ret_ok(ret, device, 'reset_memory_partition')
|
||||
printErrLog(device, 'Failed to reset memory partition to boot state')
|
||||
printLogSpacer()
|
||||
|
||||
|
||||
def setClockRange(deviceList, clkType, minvalue, maxvalue, autoRespond):
|
||||
""" Set the range for the specified clktype in the PowerPlay table for a list of devices.
|
||||
|
||||
@@ -4240,8 +4174,6 @@ if __name__ == '__main__':
|
||||
action='store_true')
|
||||
groupActionReset.add_argument('--resetxgmierr', help='Reset XGMI error count', action='store_true')
|
||||
groupActionReset.add_argument('--resetperfdeterminism', help='Disable performance determinism', action='store_true')
|
||||
groupActionReset.add_argument('--resetcomputepartition', help='Resets to boot compute partition state', action='store_true')
|
||||
groupActionReset.add_argument('--resetmemorypartition', help='Resets to boot memory partition state', action='store_true')
|
||||
groupAction.add_argument('--setclock',
|
||||
help='Set Clock Frequency Level(s) for specified clock (requires manual Perf level)',
|
||||
metavar=('TYPE','LEVEL'), nargs=2)
|
||||
@@ -4329,7 +4261,7 @@ if __name__ == '__main__':
|
||||
or args.setpoweroverdrive or args.resetpoweroverdrive or args.rasenable or args.rasdisable or \
|
||||
args.rasinject or args.gpureset or args.setperfdeterminism or args.setslevel or args.setmlevel or \
|
||||
args.setvc or args.setsrange or args.setextremum or args.setmrange or args.setclock or \
|
||||
args.setcomputepartition or args.setmemorypartition or args.resetcomputepartition or args.resetmemorypartition:
|
||||
args.setcomputepartition or args.setmemorypartition:
|
||||
relaunchAsSudo()
|
||||
|
||||
# If there is one or more device specified, use that for all commands, otherwise use a
|
||||
@@ -4579,10 +4511,6 @@ if __name__ == '__main__':
|
||||
resetXgmiErr(deviceList)
|
||||
if args.resetperfdeterminism:
|
||||
resetPerfDeterminism(deviceList)
|
||||
if args.resetcomputepartition:
|
||||
resetComputePartition(deviceList)
|
||||
if args.resetmemorypartition:
|
||||
resetMemoryPartition(deviceList)
|
||||
if args.rasenable:
|
||||
setRas(deviceList, 'enable', args.rasenable[0], args.rasenable[1])
|
||||
if args.rasdisable:
|
||||
|
||||
Ссылка в новой задаче
Block a user