Files
rocm-systems/pytest
Charis Poag d9d6637cb7 [SWDEV-451960] [WIP] Add Pytest
Updates:
- Added pytest to shared/pytest folder
- User can execute tests:

[pytest]
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -s -v
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -s -v

[unittest]
/opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -v
/opt/rocm/share/amd_smi/tests/pytest/integration_test.py -v

- Automatically installs pytest

Change-Id: Ia3281a9608aeeb803b91f8b83f87ff84b01037f4
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
2024-08-29 10:09:29 -04:00
..
2024-08-29 10:09:29 -04:00
2024-08-29 10:09:29 -04:00
2024-08-29 10:09:29 -04:00
2024-08-29 10:09:29 -04:00

How to Python Unit Tests

Overview

We use Python's default Python unittest testing framework. You can read more about it here Python unittest v3.8. Alternatively, you can read up on pytest through here Pytest how-to usage.

Warning to Users

AMD SMI Python API tests are subject to change. These tests are currently a work in progress and may not work on your system.

Pre-Requisites Before Running Tests

Follow our install/build guides to ensure the Python API is installed correctly according to AMD SMI installation.

Versions: Python 3.8+

How to Run

Basic How To

The 2 tests are in this PATH:
/opt/rocm/share/amd_smi/tests/pytest/integration_test.py
/opt/rocm/share/amd_smi/tests/pytest/unit_tests.py

The recommended method to run the tests:
Pytest verbose
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -s -v
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -s -v

Pytest only (not verbose)
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -v
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -v

Unittest verbose
/opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -v
/opt/rocm/share/amd_smi/tests/pytest/integration_test.py -v

Unittest only (not verbose)
/opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -b -v
/opt/rocm/share/amd_smi/tests/pytest/integration_test.py -b -v

See sections below for more detailed options with examples.

Unittest or Pytest Run

The Unittest Run calls the tests directly, assuming pytest is correctly installed in the PATH.
This is more straightforward and intuitive but with less control for options. For example, the cache provider will always be used.

/opt/rocm/share/amd_smi/tests/pytest/*

options:

  • -h, --help show this help message and exit
  • -v, --verbose Verbose output
  • -q, --quiet Quiet output
  • -b, --buffer Buffer stdout and stderr during tests
  • -k "TESTNAME" Only run tests which match the given substring

The Pytest Run could be more reliable and consistent, especially if pytest is not in the PATH.
This offers more options and flexibility, such as the option to disable the cache provider, ensuring completely independent runs.

python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/*

options:

  • -h, --help show this help message and exit
  • --co Collect and list tests
  • -p no:cacheprovider Disable cache provider
  • -v, --verbose Verbose output
  • -q, --quiet Quiet output
  • -s, --capture=no Disables output capturing, stdout output
  • -k "TESTNAME" Only run tests which match the given substring

The complete list of options can be accessed here Pytest command-line flags.

Unittest Run Options

Unittest Run: Verbose on

Helpful to see print outs of Python.

/opt/rocm/share/amd_smi/tests/pytest/integration_test.py -v

/opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -v

ex.

Click for example: Unittest run: verbose on
/opt/rocm/share/amd_smi/tests/pytest/integration_test.py -v
test_init (__main__.TestAmdSmiInit) ... ok
test_bad_page_info (__main__.TestAmdSmiPythonInterface) ... ###Test amdsmi_get_gpu_bad_page_info

**** [ERROR] | Test: test_bad_page_info | Caught AmdSmiLibraryException
ok
test_bdf_device_id (__main__.TestAmdSmiPythonInterface) ... ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_vbios_info

  vbios_info['part_number'] is: 113-D41207XL-038
  vbios_info['build_date'] is: 2020/10/06 17:59
  vbios_info['version'] is: 020.001.000.038.015697

  vbios_info['name'] is: NAVI21 Gaming XL D412

###Test amdsmi_get_gpu_device_uuid

  uuid is: 81ff73bf-0000-1000-80c1-6890a5911040
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_vbios_info

  vbios_info['part_number'] is: 113-D4300100-100
  vbios_info['build_date'] is: 2021/04/22 09:34
  vbios_info['version'] is: 020.001.000.060.016898

  vbios_info['name'] is: NAVI21 D43001 GLXL

###Test amdsmi_get_gpu_device_uuid

  uuid is: 1fff73a3-0000-1000-8075-223e5e64eac1
ok
test_ecc (__main__.TestAmdSmiPythonInterface) ... ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_ras_feature_info

**** [ERROR] | Test: test_ecc | Caught AmdSmiLibraryException
ok
test_gpu_performance (__main__.TestAmdSmiPythonInterface) ... ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_activity
  engine_usage['gfx_activity'] is: 3 %
  engine_usage['umc_activity'] is: 0 %
  engine_usage['mm_activity'] is: 0 %

###Test amdsmi_get_power_info
  power_info['current_socket_power'] is: N/A
  power_info['average_socket_power'] is: 8
  power_info['gfx_voltage'] is: 768
  power_info['soc_voltage'] is: 918
  power_info['mem_voltage'] is: 1250
  power_info['power_limit'] is: 203000000
###Test amdsmi_is_gpu_power_management_enabled
  Is power management enabled is: True
###Test amdsmi_get_temp_metric
  Current temperature for EDGE is: 42
  Current temperature for HOTSPOT is: 42
  Current temperature for VRAM is: 38
###Test amdsmi_get_temp_metric
  Limit (critical) temperature for EDGE is: 100
  Limit (critical) temperature for HOTSPOT is: 110
  Limit (critical) temperature for VRAM is: 100
###Test amdsmi_get_temp_metric
  Shutdown (emergency) temperature for EDGE is: 105
  Shutdown (emergency) temperature for HOTSPOT is: 115
  Shutdown (emergency) temperature for VRAM is: 105
###Test amdsmi_get_clock_info
  Current clock for domain GFX is: 500
  Max clock for domain GFX is: 2475
  Min clock for domain GFX is: 500
  Is GFX clock locked: 0
  Is GFX clock in deep sleep: 255
  Current clock for domain MEM is: 96
  Max clock for domain MEM is: 1000
  Min clock for domain MEM is: 96
  Is MEM clock in deep sleep: 255
  Current clock for domain VCLK0 is: 0
  Max clock for domain VCLK0 is: 0
  Min clock for domain VCLK0 is: 0
  Is VCLK0 clock in deep sleep: 255
  Current clock for domain VCLK1 is: 0
  Max clock for domain VCLK1 is: 0
  Min clock for domain VCLK1 is: 0
  Is VCLK1 clock in deep sleep: 255
  Current clock for domain DCLK0 is: 0
  Max clock for domain DCLK0 is: 0
  Min clock for domain DCLK0 is: 0
  Is DCLK0 clock in deep sleep: 255
  Current clock for domain DCLK1 is: 0
  Max clock for domain DCLK1 is: 0
  Min clock for domain DCLK1 is: 0
  Is DCLK1 clock in deep sleep: 255
###Test amdsmi_get_pcie_info
  pcie_info['pcie_metric']['pcie_width'] is: 4
  pcie_info['pcie_static']['max_pcie_width'] is: 16
  pcie_info['pcie_metric']['pcie_speed'] is: 5000 MT/s
  pcie_info['pcie_static']['max_pcie_speed'] is: 16000
  pcie_info['pcie_static']['pcie_interface_version'] is: 4
  pcie_info['pcie_static']['slot_type'] is: CEM
  pcie_info['pcie_metric']['pcie_replay_count'] is: N/A
  pcie_info['pcie_metric']['pcie_bandwidth'] is: N/A
  pcie_info['pcie_metric']['pcie_l0_to_recovery_count'] is: N/A
  pcie_info['pcie_metric']['pcie_replay_roll_over_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_sent_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_received_count'] is: N/A
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_activity
  engine_usage['gfx_activity'] is: 0 %
  engine_usage['umc_activity'] is: 0 %
  engine_usage['mm_activity'] is: 0 %

###Test amdsmi_get_power_info
  power_info['current_socket_power'] is: N/A
  power_info['average_socket_power'] is: 13
  power_info['gfx_voltage'] is: 781
  power_info['soc_voltage'] is: 812
  power_info['mem_voltage'] is: 1250
  power_info['power_limit'] is: 213000000
###Test amdsmi_is_gpu_power_management_enabled
  Is power management enabled is: True
###Test amdsmi_get_temp_metric
  Current temperature for EDGE is: 34
  Current temperature for HOTSPOT is: 38
  Current temperature for VRAM is: 36
###Test amdsmi_get_temp_metric
  Limit (critical) temperature for EDGE is: 109
  Limit (critical) temperature for HOTSPOT is: 110
  Limit (critical) temperature for VRAM is: 100
###Test amdsmi_get_temp_metric
  Shutdown (emergency) temperature for EDGE is: 114
  Shutdown (emergency) temperature for HOTSPOT is: 115
  Shutdown (emergency) temperature for VRAM is: 105
###Test amdsmi_get_clock_info
  Current clock for domain GFX is: 500
  Max clock for domain GFX is: 2555
  Min clock for domain GFX is: 500
  Is GFX clock locked: 0
  Is GFX clock in deep sleep: 255
  Current clock for domain MEM is: 96
  Max clock for domain MEM is: 1000
  Min clock for domain MEM is: 96
  Is MEM clock in deep sleep: 255
  Current clock for domain VCLK0 is: 0
  Max clock for domain VCLK0 is: 0
  Min clock for domain VCLK0 is: 0
  Is VCLK0 clock in deep sleep: 255
  Current clock for domain VCLK1 is: 0
  Max clock for domain VCLK1 is: 0
  Min clock for domain VCLK1 is: 0
  Is VCLK1 clock in deep sleep: 255
  Current clock for domain DCLK0 is: 0
  Max clock for domain DCLK0 is: 0
  Min clock for domain DCLK0 is: 0
  Is DCLK0 clock in deep sleep: 255
  Current clock for domain DCLK1 is: 0
  Max clock for domain DCLK1 is: 0
  Min clock for domain DCLK1 is: 0
  Is DCLK1 clock in deep sleep: 255
###Test amdsmi_get_pcie_info
  pcie_info['pcie_metric']['pcie_width'] is: 16
  pcie_info['pcie_static']['max_pcie_width'] is: 16
  pcie_info['pcie_metric']['pcie_speed'] is: 8000 MT/s
  pcie_info['pcie_static']['max_pcie_speed'] is: 16000
  pcie_info['pcie_static']['pcie_interface_version'] is: 4
  pcie_info['pcie_static']['slot_type'] is: CEM
  pcie_info['pcie_metric']['pcie_replay_count'] is: N/A
  pcie_info['pcie_metric']['pcie_bandwidth'] is: N/A
  pcie_info['pcie_metric']['pcie_l0_to_recovery_count'] is: N/A
  pcie_info['pcie_metric']['pcie_replay_roll_over_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_sent_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_received_count'] is: N/A
ok
test_walkthrough (__main__.TestAmdSmiPythonInterface) ... ###Test amdsmi_get_processor_handles()
###Test amdsmi_get_gpu_device_bdf() | START walk_through | processor i = 0
###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_asic_info
  asic_info['market_name'] is: NAVI21
  asic_info['vendor_id'] is: 0x1002
  asic_info['vendor_name'] is: Advanced Micro Devices Inc. [AMD/ATI]
  asic_info['device_id'] is: 0x73bf
  asic_info['rev_id'] is: 0xc3

  asic_info['asic_serial'] is: 0x81C16890A5911040

  asic_info['oam_id'] is: N/A

###Test amdsmi_get_power_cap_info
  power_info['dpm_cap'] is: 1
  power_info['power_cap'] is: 203000000

###Test amdsmi_get_gpu_vbios_info
  vbios_info['part_number'] is: 113-D41207XL-038
  vbios_info['build_date'] is: 2020/10/06 17:59
  vbios_info['name'] is: NAVI21 Gaming XL D412

  vbios_info['version'] is: 020.001.000.038.015697

###Test amdsmi_get_gpu_board_info
  board_info['model_number'] is: N/A

  board_info['product_serial'] is: N/A

  board_info['fru_id'] is: N/A

  board_info['manufacturer_name'] is: Advanced Micro Devices, Inc. [AMD/ATI]

  board_info['product_name'] is: Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]

###Test amdsmi_get_fw_info
FW name:           AMDSMI_FW_ID_CP_CE
FW version:        37
FW name:           AMDSMI_FW_ID_CP_PFP
FW version:        98
FW name:           AMDSMI_FW_ID_CP_ME
FW version:        64
FW name:           AMDSMI_FW_ID_CP_MEC1
FW version:        118
FW name:           AMDSMI_FW_ID_CP_MEC2
FW version:        118
FW name:           AMDSMI_FW_ID_RLC
FW version:        96
FW name:           AMDSMI_FW_ID_SDMA0
FW version:        83
FW name:           AMDSMI_FW_ID_SDMA1
FW version:        83
FW name:           AMDSMI_FW_ID_VCN
FW version:        31.1E.00.8
FW name:           AMDSMI_FW_ID_PSP_SOSDRV
FW version:        21.0E.64
FW name:           AMDSMI_FW_ID_ASD
FW version:        553648340
FW name:           AMDSMI_FW_ID_TA_RAS
FW version:        1B.00.01.3E
FW name:           AMDSMI_FW_ID_TA_XGMI
FW version:        20.00.00.0F
FW name:           AMDSMI_FW_ID_PM
FW version:        58.89.0
###Test amdsmi_get_gpu_driver_info
Driver info:  {'driver_name': 'amdgpu', 'driver_version': '6.7.8', 'driver_date': '2015/01/01 00:00'}
###Test amdsmi_get_gpu_driver_info() | END walk_through | processor i = 0
###Test amdsmi_get_gpu_device_bdf() | START walk_through | processor i = 1
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_asic_info
  asic_info['market_name'] is: Navi 21 GL-XL [Radeon PRO W6800]
  asic_info['vendor_id'] is: 0x1002
  asic_info['vendor_name'] is: Advanced Micro Devices Inc. [AMD/ATI]
  asic_info['device_id'] is: 0x73a3
  asic_info['rev_id'] is: 0x00

  asic_info['asic_serial'] is: 0x1F75223E5E64EAC1

  asic_info['oam_id'] is: N/A

###Test amdsmi_get_power_cap_info
  power_info['dpm_cap'] is: 1
  power_info['power_cap'] is: 213000000

###Test amdsmi_get_gpu_vbios_info
  vbios_info['part_number'] is: 113-D4300100-100
  vbios_info['build_date'] is: 2021/04/22 09:34
  vbios_info['name'] is: NAVI21 D43001 GLXL

  vbios_info['version'] is: 020.001.000.060.016898

###Test amdsmi_get_gpu_board_info
  board_info['model_number'] is: N/A

  board_info['product_serial'] is: N/A

  board_info['fru_id'] is: N/A

  board_info['manufacturer_name'] is: Advanced Micro Devices, Inc. [AMD/ATI]

  board_info['product_name'] is: Navi 21 GL-XL [Radeon PRO W6800]

###Test amdsmi_get_fw_info
FW name:           AMDSMI_FW_ID_CP_CE
FW version:        37
FW name:           AMDSMI_FW_ID_CP_PFP
FW version:        98
FW name:           AMDSMI_FW_ID_CP_ME
FW version:        64
FW name:           AMDSMI_FW_ID_CP_MEC1
FW version:        118
FW name:           AMDSMI_FW_ID_CP_MEC2
FW version:        118
FW name:           AMDSMI_FW_ID_RLC
FW version:        96
FW name:           AMDSMI_FW_ID_SDMA0
FW version:        83
FW name:           AMDSMI_FW_ID_SDMA1
FW version:        83
FW name:           AMDSMI_FW_ID_VCN
FW version:        31.1E.00.8
FW name:           AMDSMI_FW_ID_PSP_SOSDRV
FW version:        21.0E.64
FW name:           AMDSMI_FW_ID_ASD
FW version:        553648340
FW name:           AMDSMI_FW_ID_TA_RAS
FW version:        1B.00.01.3E
FW name:           AMDSMI_FW_ID_TA_XGMI
FW version:        20.00.00.0F
FW name:           AMDSMI_FW_ID_PM
FW version:        58.89.0
###Test amdsmi_get_gpu_driver_info
Driver info:  {'driver_name': 'amdgpu', 'driver_version': '6.7.8', 'driver_date': '2015/01/01 00:00'}
###Test amdsmi_get_gpu_driver_info() | END walk_through | processor i = 1
ok

----------------------------------------------------------------------
Ran 6 tests in 0.083s

OK

Unittest Run: Verbose on + Filter (or exclude) a test

/opt/rocm/share/amd_smi/tests/pytest/integration_test.py -k "test_walkthrough" -v

/opt/rocm/share/amd_smi/tests/pytest/integration_test.py -k "not test_walkthrough" -v

ex.

Click for example: Unittest Run: Verbose on + Filter (or exclude) a Test
> /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -k "test_bdf_device_id" -v
test_bdf_device_id (__main__.TestAmdSmiPythonInterface) ... ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_vbios_info

  vbios_info['part_number'] is: 113-D41207XL-038
  vbios_info['build_date'] is: 2020/10/06 17:59
  vbios_info['version'] is: 020.001.000.038.015697

  vbios_info['name'] is: NAVI21 Gaming XL D412

###Test amdsmi_get_gpu_device_uuid

  uuid is: 81ff73bf-0000-1000-80c1-6890a5911040
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_vbios_info

  vbios_info['part_number'] is: 113-D4300100-100
  vbios_info['build_date'] is: 2021/04/22 09:34
  vbios_info['version'] is: 020.001.000.060.016898

  vbios_info['name'] is: NAVI21 D43001 GLXL

###Test amdsmi_get_gpu_device_uuid

  uuid is: 1fff73a3-0000-1000-8075-223e5e64eac1
ok

----------------------------------------------------------------------
Ran 1 test in 0.012s

OK

Unittest Run: Silence stdout (print statements) and run all tests

Runs all tests. Silence print statements to stdout. Lists tests results. This is also the best way to list all tests available.

/opt/rocm/share/amd_smi/tests/pytest/integration_test.py -b -v

/opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -b -v

ex.

Click for example: Unittest Run: Silence stdout (print statements) and run all tests
/opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -b -v
test_check_res (__main__.TestAmdSmiPythonBDF) ... ok
test_format_bdf (__main__.TestAmdSmiPythonBDF) ... ok
test_parse_bdf (__main__.TestAmdSmiPythonBDF) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.001s

OK

Pytest Run Options

Pytest: List tests

python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py --co

python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/unit_tests.py --co

ex.

Click for example: Pytest: List tests
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py --co
===================================================== test session starts =====================================================
platform linux -- Python 3.8.10, pytest-8.2.2, pluggy-1.5.0
rootdir: /opt/rocm/share/amd_smi
configfile: pyproject.toml
collected 6 items

<Dir amd_smi>
  <Dir tests>
    <Package pytest>
      <Module integration_test.py>
        <UnitTestCase TestAmdSmiInit>
          <TestCaseFunction test_init>
        <UnitTestCase TestAmdSmiPythonInterface>
          <TestCaseFunction test_bad_page_info>
          <TestCaseFunction test_bdf_device_id>
          <TestCaseFunction test_ecc>
          <TestCaseFunction test_gpu_performance>
          <TestCaseFunction test_walkthrough>

================================================= 6 tests collected in 0.04s ==================================================

Pytest Run: Verbose on

python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -v

python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -v

ex.

Click for example: Pytest Run: verbose on
 python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -v
===================================================== test session starts =====================================================
platform linux -- Python 3.8.10, pytest-8.2.2, pluggy-1.5.0 -- /usr/bin/python3
rootdir: /opt/rocm/share/amd_smi
configfile: pyproject.toml
collected 3 items

../../opt/rocm/share/amd_smi/tests/pytest/unit_tests.py::TestAmdSmiPythonBDF::test_check_res PASSED                     [ 33%]
../../opt/rocm/share/amd_smi/tests/pytest/unit_tests.py::TestAmdSmiPythonBDF::test_format_bdf PASSED                    [ 66%]
../../opt/rocm/share/amd_smi/tests/pytest/unit_tests.py::TestAmdSmiPythonBDF::test_parse_bdf PASSED                     [100%]

====================================================== 3 passed in 0.04s ======================================================

Pytest Run: Verbose on + stdout (print statements)

python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -s -v

python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -s -v

ex.

Click for example: Pytest Run: verbose on + stdout (print statements)
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -s -v
===================================================== test session starts =====================================================
platform linux -- Python 3.8.10, pytest-8.2.2, pluggy-1.5.0 -- /usr/bin/python3
rootdir: /opt/rocm/share/amd_smi
configfile: pyproject.toml
collected 6 items

../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiInit::test_init PASSED
../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiPythonInterface::test_bad_page_info ###Test amdsmi_get_gpu_bad_page_info

**** [ERROR] | Test: test_bad_page_info | Caught AmdSmiLibraryException
PASSED
../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiPythonInterface::test_bdf_device_id ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_vbios_info

  vbios_info['part_number'] is: 113-D41207XL-038
  vbios_info['build_date'] is: 2020/10/06 17:59
  vbios_info['version'] is: 020.001.000.038.015697

  vbios_info['name'] is: NAVI21 Gaming XL D412

###Test amdsmi_get_gpu_device_uuid

  uuid is: 81ff73bf-0000-1000-80c1-6890a5911040
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_vbios_info

  vbios_info['part_number'] is: 113-D4300100-100
  vbios_info['build_date'] is: 2021/04/22 09:34
  vbios_info['version'] is: 020.001.000.060.016898

  vbios_info['name'] is: NAVI21 D43001 GLXL

###Test amdsmi_get_gpu_device_uuid

  uuid is: 1fff73a3-0000-1000-8075-223e5e64eac1
PASSED
../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiPythonInterface::test_ecc ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_ras_feature_info

**** [ERROR] | Test: test_ecc | Caught AmdSmiLibraryException
PASSED
../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiPythonInterface::test_gpu_performance ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_activity
  engine_usage['gfx_activity'] is: 1 %
  engine_usage['umc_activity'] is: 0 %
  engine_usage['mm_activity'] is: 0 %

###Test amdsmi_get_power_info
  power_info['current_socket_power'] is: N/A
  power_info['average_socket_power'] is: 8
  power_info['gfx_voltage'] is: 768
  power_info['soc_voltage'] is: 918
  power_info['mem_voltage'] is: 1250
  power_info['power_limit'] is: 203000000
###Test amdsmi_is_gpu_power_management_enabled
  Is power management enabled is: True
###Test amdsmi_get_temp_metric
  Current temperature for EDGE is: 42
  Current temperature for HOTSPOT is: 43
  Current temperature for VRAM is: 38
###Test amdsmi_get_temp_metric
  Limit (critical) temperature for EDGE is: 100
  Limit (critical) temperature for HOTSPOT is: 110
  Limit (critical) temperature for VRAM is: 100
###Test amdsmi_get_temp_metric
  Shutdown (emergency) temperature for EDGE is: 105
  Shutdown (emergency) temperature for HOTSPOT is: 115
  Shutdown (emergency) temperature for VRAM is: 105
###Test amdsmi_get_clock_info
  Current clock for domain GFX is: 500
  Max clock for domain GFX is: 2475
  Min clock for domain GFX is: 500
  Is GFX clock locked: 0
  Is GFX clock in deep sleep: 255
  Current clock for domain MEM is: 96
  Max clock for domain MEM is: 1000
  Min clock for domain MEM is: 96
  Is MEM clock in deep sleep: 255
  Current clock for domain VCLK0 is: 0
  Max clock for domain VCLK0 is: 0
  Min clock for domain VCLK0 is: 0
  Is VCLK0 clock in deep sleep: 255
  Current clock for domain VCLK1 is: 0
  Max clock for domain VCLK1 is: 0
  Min clock for domain VCLK1 is: 0
  Is VCLK1 clock in deep sleep: 255
  Current clock for domain DCLK0 is: 0
  Max clock for domain DCLK0 is: 0
  Min clock for domain DCLK0 is: 0
  Is DCLK0 clock in deep sleep: 255
  Current clock for domain DCLK1 is: 0
  Max clock for domain DCLK1 is: 0
  Min clock for domain DCLK1 is: 0
  Is DCLK1 clock in deep sleep: 255
###Test amdsmi_get_pcie_info
  pcie_info['pcie_metric']['pcie_width'] is: 4
  pcie_info['pcie_static']['max_pcie_width'] is: 16
  pcie_info['pcie_metric']['pcie_speed'] is: 5000 MT/s
  pcie_info['pcie_static']['max_pcie_speed'] is: 16000
  pcie_info['pcie_static']['pcie_interface_version'] is: 4
  pcie_info['pcie_static']['slot_type'] is: CEM
  pcie_info['pcie_metric']['pcie_replay_count'] is: N/A
  pcie_info['pcie_metric']['pcie_bandwidth'] is: N/A
  pcie_info['pcie_metric']['pcie_l0_to_recovery_count'] is: N/A
  pcie_info['pcie_metric']['pcie_replay_roll_over_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_sent_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_received_count'] is: N/A
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_activity
  engine_usage['gfx_activity'] is: 0 %
  engine_usage['umc_activity'] is: 0 %
  engine_usage['mm_activity'] is: 0 %

###Test amdsmi_get_power_info
  power_info['current_socket_power'] is: N/A
  power_info['average_socket_power'] is: 13
  power_info['gfx_voltage'] is: 787
  power_info['soc_voltage'] is: 806
  power_info['mem_voltage'] is: 1250
  power_info['power_limit'] is: 213000000
###Test amdsmi_is_gpu_power_management_enabled
  Is power management enabled is: True
###Test amdsmi_get_temp_metric
  Current temperature for EDGE is: 34
  Current temperature for HOTSPOT is: 37
  Current temperature for VRAM is: 36
###Test amdsmi_get_temp_metric
  Limit (critical) temperature for EDGE is: 109
  Limit (critical) temperature for HOTSPOT is: 110
  Limit (critical) temperature for VRAM is: 100
###Test amdsmi_get_temp_metric
  Shutdown (emergency) temperature for EDGE is: 114
  Shutdown (emergency) temperature for HOTSPOT is: 115
  Shutdown (emergency) temperature for VRAM is: 105
###Test amdsmi_get_clock_info
  Current clock for domain GFX is: 500
  Max clock for domain GFX is: 2555
  Min clock for domain GFX is: 500
  Is GFX clock locked: 0
  Is GFX clock in deep sleep: 255
  Current clock for domain MEM is: 96
  Max clock for domain MEM is: 1000
  Min clock for domain MEM is: 96
  Is MEM clock in deep sleep: 255
  Current clock for domain VCLK0 is: 0
  Max clock for domain VCLK0 is: 0
  Min clock for domain VCLK0 is: 0
  Is VCLK0 clock in deep sleep: 255
  Current clock for domain VCLK1 is: 0
  Max clock for domain VCLK1 is: 0
  Min clock for domain VCLK1 is: 0
  Is VCLK1 clock in deep sleep: 255
  Current clock for domain DCLK0 is: 0
  Max clock for domain DCLK0 is: 0
  Min clock for domain DCLK0 is: 0
  Is DCLK0 clock in deep sleep: 255
  Current clock for domain DCLK1 is: 0
  Max clock for domain DCLK1 is: 0
  Min clock for domain DCLK1 is: 0
  Is DCLK1 clock in deep sleep: 255
###Test amdsmi_get_pcie_info
  pcie_info['pcie_metric']['pcie_width'] is: 16
  pcie_info['pcie_static']['max_pcie_width'] is: 16
  pcie_info['pcie_metric']['pcie_speed'] is: 8000 MT/s
  pcie_info['pcie_static']['max_pcie_speed'] is: 16000
  pcie_info['pcie_static']['pcie_interface_version'] is: 4
  pcie_info['pcie_static']['slot_type'] is: CEM
  pcie_info['pcie_metric']['pcie_replay_count'] is: N/A
  pcie_info['pcie_metric']['pcie_bandwidth'] is: N/A
  pcie_info['pcie_metric']['pcie_l0_to_recovery_count'] is: N/A
  pcie_info['pcie_metric']['pcie_replay_roll_over_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_sent_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_received_count'] is: N/A
PASSED
../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiPythonInterface::test_walkthrough ###Test amdsmi_get_processor_handles()
###Test amdsmi_get_gpu_device_bdf() | START walk_through | processor i = 0
###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_asic_info
  asic_info['market_name'] is: NAVI21
  asic_info['vendor_id'] is: 0x1002
  asic_info['vendor_name'] is: Advanced Micro Devices Inc. [AMD/ATI]
  asic_info['device_id'] is: 0x73bf
  asic_info['rev_id'] is: 0xc3

  asic_info['asic_serial'] is: 0x81C16890A5911040

  asic_info['oam_id'] is: N/A

###Test amdsmi_get_power_cap_info
  power_info['dpm_cap'] is: 1
  power_info['power_cap'] is: 203000000

###Test amdsmi_get_gpu_vbios_info
  vbios_info['part_number'] is: 113-D41207XL-038
  vbios_info['build_date'] is: 2020/10/06 17:59
  vbios_info['name'] is: NAVI21 Gaming XL D412

  vbios_info['version'] is: 020.001.000.038.015697

###Test amdsmi_get_gpu_board_info
  board_info['model_number'] is: N/A

  board_info['product_serial'] is: N/A

  board_info['fru_id'] is: N/A

  board_info['manufacturer_name'] is: Advanced Micro Devices, Inc. [AMD/ATI]

  board_info['product_name'] is: Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]

###Test amdsmi_get_fw_info
FW name:           AMDSMI_FW_ID_CP_CE
FW version:        37
FW name:           AMDSMI_FW_ID_CP_PFP
FW version:        98
FW name:           AMDSMI_FW_ID_CP_ME
FW version:        64
FW name:           AMDSMI_FW_ID_CP_MEC1
FW version:        118
FW name:           AMDSMI_FW_ID_CP_MEC2
FW version:        118
FW name:           AMDSMI_FW_ID_RLC
FW version:        96
FW name:           AMDSMI_FW_ID_SDMA0
FW version:        83
FW name:           AMDSMI_FW_ID_SDMA1
FW version:        83
FW name:           AMDSMI_FW_ID_VCN
FW version:        31.1E.00.8
FW name:           AMDSMI_FW_ID_PSP_SOSDRV
FW version:        21.0E.64
FW name:           AMDSMI_FW_ID_ASD
FW version:        553648340
FW name:           AMDSMI_FW_ID_TA_RAS
FW version:        1B.00.01.3E
FW name:           AMDSMI_FW_ID_TA_XGMI
FW version:        20.00.00.0F
FW name:           AMDSMI_FW_ID_PM
FW version:        58.89.0
###Test amdsmi_get_gpu_driver_info
Driver info:  {'driver_name': 'amdgpu', 'driver_version': '6.7.8', 'driver_date': '2015/01/01 00:00'}
###Test amdsmi_get_gpu_driver_info() | END walk_through | processor i = 0
###Test amdsmi_get_gpu_device_bdf() | START walk_through | processor i = 1
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_asic_info
  asic_info['market_name'] is: Navi 21 GL-XL [Radeon PRO W6800]
  asic_info['vendor_id'] is: 0x1002
  asic_info['vendor_name'] is: Advanced Micro Devices Inc. [AMD/ATI]
  asic_info['device_id'] is: 0x73a3
  asic_info['rev_id'] is: 0x00

  asic_info['asic_serial'] is: 0x1F75223E5E64EAC1

  asic_info['oam_id'] is: N/A

###Test amdsmi_get_power_cap_info
  power_info['dpm_cap'] is: 1
  power_info['power_cap'] is: 213000000

###Test amdsmi_get_gpu_vbios_info
  vbios_info['part_number'] is: 113-D4300100-100
  vbios_info['build_date'] is: 2021/04/22 09:34
  vbios_info['name'] is: NAVI21 D43001 GLXL

  vbios_info['version'] is: 020.001.000.060.016898

###Test amdsmi_get_gpu_board_info
  board_info['model_number'] is: N/A

  board_info['product_serial'] is: N/A

  board_info['fru_id'] is: N/A

  board_info['manufacturer_name'] is: Advanced Micro Devices, Inc. [AMD/ATI]

  board_info['product_name'] is: Navi 21 GL-XL [Radeon PRO W6800]

###Test amdsmi_get_fw_info
FW name:           AMDSMI_FW_ID_CP_CE
FW version:        37
FW name:           AMDSMI_FW_ID_CP_PFP
FW version:        98
FW name:           AMDSMI_FW_ID_CP_ME
FW version:        64
FW name:           AMDSMI_FW_ID_CP_MEC1
FW version:        118
FW name:           AMDSMI_FW_ID_CP_MEC2
FW version:        118
FW name:           AMDSMI_FW_ID_RLC
FW version:        96
FW name:           AMDSMI_FW_ID_SDMA0
FW version:        83
FW name:           AMDSMI_FW_ID_SDMA1
FW version:        83
FW name:           AMDSMI_FW_ID_VCN
FW version:        31.1E.00.8
FW name:           AMDSMI_FW_ID_PSP_SOSDRV
FW version:        21.0E.64
FW name:           AMDSMI_FW_ID_ASD
FW version:        553648340
FW name:           AMDSMI_FW_ID_TA_RAS
FW version:        1B.00.01.3E
FW name:           AMDSMI_FW_ID_TA_XGMI
FW version:        20.00.00.0F
FW name:           AMDSMI_FW_ID_PM
FW version:        58.89.0
###Test amdsmi_get_gpu_driver_info
Driver info:  {'driver_name': 'amdgpu', 'driver_version': '6.7.8', 'driver_date': '2015/01/01 00:00'}
###Test amdsmi_get_gpu_driver_info() | END walk_through | processor i = 1
PASSED

====================================================== 6 passed in 0.13s ======================================================

Pytest Run: Verbose on + Filter (or exclude) a Test

Use Pytest: List tests then either exclude (with "not") or only run the specified test.

python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -k "test_gpu_performance" -v

python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -k "not test_gpu_performance" -v

ex.

Click for example: Pytest Run: Verbose on + Filter (or exclude) a Test
python3 -m pytest -p no:cacheprovider /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -k "not test_gpu_performance" -v
===================================================== test session starts =====================================================
platform linux -- Python 3.8.10, pytest-8.2.2, pluggy-1.5.0 -- /usr/bin/python3
rootdir: /opt/rocm/share/amd_smi
configfile: pyproject.toml
collected 6 items / 1 deselected / 5 selected

../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiInit::test_init PASSED                         [ 20%]
../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiPythonInterface::test_bad_page_info PASSED     [ 40%]
../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiPythonInterface::test_bdf_device_id PASSED     [ 60%]
../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiPythonInterface::test_ecc PASSED               [ 80%]
../../opt/rocm/share/amd_smi/tests/pytest/integration_test.py::TestAmdSmiPythonInterface::test_walkthrough PASSED       [100%]

=============================================== 5 passed, 1 deselected in 0.09s ===============================================

Run Tests

Example Runs

Please refer to Python's UnitTest documentation for better overview of commands to run.

python3 /opt/rocm/share/amd_smi/tests/pytest/unit_tests.py -v
test_check_res (tests.amd_smi_test.py-test.unit_tests.TestAmdSmiPythonBDF) ... ok
test_format_bdf (tests.amd_smi_test.py-test.unit_tests.TestAmdSmiPythonBDF) ... ok
test_parse_bdf (tests.amd_smi_test.py-test.unit_tests.TestAmdSmiPythonBDF) ... ok
python3 /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -v
test_init (__main__.TestAmdSmiInit) ... ok
test_bad_page_info (__main__.TestAmdSmiPythonInterface) ... ###Test amdsmi_get_gpu_bad_page_info

**** [ERROR] | Test: test_bad_page_info | Caught AmdSmiLibraryException
ok
test_bdf_device_id (__main__.TestAmdSmiPythonInterface) ... ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_vbios_info

  vbios_info['part_number'] is: 113-D41207XL-038
  vbios_info['build_date'] is: 2020/10/06 17:59
  vbios_info['version'] is: 020.001.000.038.015697

  vbios_info['name'] is: NAVI21 Gaming XL D412

###Test amdsmi_get_gpu_device_uuid

  uuid is: 81ff73bf-0000-1000-80c1-6890a5911040
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_vbios_info

  vbios_info['part_number'] is: 113-D4300100-100
  vbios_info['build_date'] is: 2021/04/22 09:34
  vbios_info['version'] is: 020.001.000.060.016898

  vbios_info['name'] is: NAVI21 D43001 GLXL

###Test amdsmi_get_gpu_device_uuid

  uuid is: 1fff73a3-0000-1000-8075-223e5e64eac1
ok
test_ecc (__main__.TestAmdSmiPythonInterface) ... ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_ras_feature_info

**** [ERROR] | Test: test_ecc | Caught AmdSmiLibraryException
ok
test_gpu_performance (__main__.TestAmdSmiPythonInterface) ... ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_activity
  engine_usage['gfx_activity'] is: 5 %
  engine_usage['umc_activity'] is: 0 %
  engine_usage['mm_activity'] is: 0 %

###Test amdsmi_get_power_info
  power_info['current_socket_power'] is: N/A
  power_info['average_socket_power'] is: 8
  power_info['gfx_voltage'] is: 768
  power_info['soc_voltage'] is: 918
  power_info['mem_voltage'] is: 1250
  power_info['power_limit'] is: 203000000
###Test amdsmi_is_gpu_power_management_enabled
  Is power management enabled is: True
###Test amdsmi_get_temp_metric
  Current temperature for EDGE is: 41
  Current temperature for HOTSPOT is: 42
  Current temperature for VRAM is: 38
###Test amdsmi_get_temp_metric
  Limit (critical) temperature for EDGE is: 100
  Limit (critical) temperature for HOTSPOT is: 110
  Limit (critical) temperature for VRAM is: 100
###Test amdsmi_get_temp_metric
  Shutdown (emergency) temperature for EDGE is: 105
  Shutdown (emergency) temperature for HOTSPOT is: 115
  Shutdown (emergency) temperature for VRAM is: 105
###Test amdsmi_get_clock_info
  Current clock for domain GFX is: 500
  Max clock for domain GFX is: 2475
  Min clock for domain GFX is: 500
  Is GFX clock locked: 0
  Is GFX clock in deep sleep: 255
  Current clock for domain MEM is: 96
  Max clock for domain MEM is: 1000
  Min clock for domain MEM is: 96
  Is MEM clock in deep sleep: 255
  Current clock for domain VCLK0 is: 0
  Max clock for domain VCLK0 is: 0
  Min clock for domain VCLK0 is: 0
  Is VCLK0 clock in deep sleep: 255
  Current clock for domain VCLK1 is: 0
  Max clock for domain VCLK1 is: 0
  Min clock for domain VCLK1 is: 0
  Is VCLK1 clock in deep sleep: 255
  Current clock for domain DCLK0 is: 0
  Max clock for domain DCLK0 is: 0
  Min clock for domain DCLK0 is: 0
  Is DCLK0 clock in deep sleep: 255
  Current clock for domain DCLK1 is: 0
  Max clock for domain DCLK1 is: 0
  Min clock for domain DCLK1 is: 0
  Is DCLK1 clock in deep sleep: 255
###Test amdsmi_get_pcie_info
  pcie_info['pcie_metric']['pcie_width'] is: 4
  pcie_info['pcie_static']['max_pcie_width'] is: 16
  pcie_info['pcie_metric']['pcie_speed'] is: 5000 MT/s
  pcie_info['pcie_static']['max_pcie_speed'] is: 16000
  pcie_info['pcie_static']['pcie_interface_version'] is: 4
  pcie_info['pcie_static']['slot_type'] is: CEM
  pcie_info['pcie_metric']['pcie_replay_count'] is: N/A
  pcie_info['pcie_metric']['pcie_bandwidth'] is: N/A
  pcie_info['pcie_metric']['pcie_l0_to_recovery_count'] is: N/A
  pcie_info['pcie_metric']['pcie_replay_roll_over_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_sent_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_received_count'] is: N/A
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_activity
  engine_usage['gfx_activity'] is: 0 %
  engine_usage['umc_activity'] is: 0 %
  engine_usage['mm_activity'] is: 0 %

###Test amdsmi_get_power_info
  power_info['current_socket_power'] is: N/A
  power_info['average_socket_power'] is: 12
  power_info['gfx_voltage'] is: 787
  power_info['soc_voltage'] is: 806
  power_info['mem_voltage'] is: 1250
  power_info['power_limit'] is: 213000000
###Test amdsmi_is_gpu_power_management_enabled
  Is power management enabled is: True
###Test amdsmi_get_temp_metric
  Current temperature for EDGE is: 33
  Current temperature for HOTSPOT is: 37
  Current temperature for VRAM is: 36
###Test amdsmi_get_temp_metric
  Limit (critical) temperature for EDGE is: 109
  Limit (critical) temperature for HOTSPOT is: 110
  Limit (critical) temperature for VRAM is: 100
###Test amdsmi_get_temp_metric
  Shutdown (emergency) temperature for EDGE is: 114
  Shutdown (emergency) temperature for HOTSPOT is: 115
  Shutdown (emergency) temperature for VRAM is: 105
###Test amdsmi_get_clock_info
  Current clock for domain GFX is: 500
  Max clock for domain GFX is: 2555
  Min clock for domain GFX is: 500
  Is GFX clock locked: 0
  Is GFX clock in deep sleep: 255
  Current clock for domain MEM is: 96
  Max clock for domain MEM is: 1000
  Min clock for domain MEM is: 96
  Is MEM clock in deep sleep: 255
  Current clock for domain VCLK0 is: 0
  Max clock for domain VCLK0 is: 0
  Min clock for domain VCLK0 is: 0
  Is VCLK0 clock in deep sleep: 255
  Current clock for domain VCLK1 is: 0
  Max clock for domain VCLK1 is: 0
  Min clock for domain VCLK1 is: 0
  Is VCLK1 clock in deep sleep: 255
  Current clock for domain DCLK0 is: 0
  Max clock for domain DCLK0 is: 0
  Min clock for domain DCLK0 is: 0
  Is DCLK0 clock in deep sleep: 255
  Current clock for domain DCLK1 is: 0
  Max clock for domain DCLK1 is: 0
  Min clock for domain DCLK1 is: 0
  Is DCLK1 clock in deep sleep: 255
###Test amdsmi_get_pcie_info
  pcie_info['pcie_metric']['pcie_width'] is: 16
  pcie_info['pcie_static']['max_pcie_width'] is: 16
  pcie_info['pcie_metric']['pcie_speed'] is: 8000 MT/s
  pcie_info['pcie_static']['max_pcie_speed'] is: 16000
  pcie_info['pcie_static']['pcie_interface_version'] is: 4
  pcie_info['pcie_static']['slot_type'] is: CEM
  pcie_info['pcie_metric']['pcie_replay_count'] is: N/A
  pcie_info['pcie_metric']['pcie_bandwidth'] is: N/A
  pcie_info['pcie_metric']['pcie_l0_to_recovery_count'] is: N/A
  pcie_info['pcie_metric']['pcie_replay_roll_over_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_sent_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_received_count'] is: N/A
ok
test_walkthrough (__main__.TestAmdSmiPythonInterface) ... ###Test amdsmi_get_processor_handles()
###Test amdsmi_get_gpu_device_bdf() | START walk_through | processor i = 0
###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_asic_info
  asic_info['market_name'] is: NAVI21
  asic_info['vendor_id'] is: 0x1002
  asic_info['vendor_name'] is: Advanced Micro Devices Inc. [AMD/ATI]
  asic_info['device_id'] is: 0x73bf
  asic_info['rev_id'] is: 0xc3

  asic_info['asic_serial'] is: 0x81C16890A5911040

  asic_info['oam_id'] is: N/A

###Test amdsmi_get_power_cap_info
  power_info['dpm_cap'] is: 1
  power_info['power_cap'] is: 203000000

###Test amdsmi_get_gpu_vbios_info
  vbios_info['part_number'] is: 113-D41207XL-038
  vbios_info['build_date'] is: 2020/10/06 17:59
  vbios_info['name'] is: NAVI21 Gaming XL D412

  vbios_info['version'] is: 020.001.000.038.015697

###Test amdsmi_get_gpu_board_info
  board_info['model_number'] is: N/A

  board_info['product_serial'] is: N/A

  board_info['fru_id'] is: N/A

  board_info['manufacturer_name'] is: Advanced Micro Devices, Inc. [AMD/ATI]

  board_info['product_name'] is: Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]

###Test amdsmi_get_fw_info
FW name:           AMDSMI_FW_ID_CP_CE
FW version:        37
FW name:           AMDSMI_FW_ID_CP_PFP
FW version:        98
FW name:           AMDSMI_FW_ID_CP_ME
FW version:        64
FW name:           AMDSMI_FW_ID_CP_MEC1
FW version:        118
FW name:           AMDSMI_FW_ID_CP_MEC2
FW version:        118
FW name:           AMDSMI_FW_ID_RLC
FW version:        96
FW name:           AMDSMI_FW_ID_SDMA0
FW version:        83
FW name:           AMDSMI_FW_ID_SDMA1
FW version:        83
FW name:           AMDSMI_FW_ID_VCN
FW version:        31.1E.00.8
FW name:           AMDSMI_FW_ID_PSP_SOSDRV
FW version:        21.0E.64
FW name:           AMDSMI_FW_ID_ASD
FW version:        553648340
FW name:           AMDSMI_FW_ID_TA_RAS
FW version:        1B.00.01.3E
FW name:           AMDSMI_FW_ID_TA_XGMI
FW version:        20.00.00.0F
FW name:           AMDSMI_FW_ID_PM
FW version:        58.89.0
###Test amdsmi_get_gpu_driver_info
Driver info:  {'driver_name': 'amdgpu', 'driver_version': '6.7.8', 'driver_date': '2015/01/01 00:00'}
###Test amdsmi_get_gpu_driver_info() | END walk_through | processor i = 0
###Test amdsmi_get_gpu_device_bdf() | START walk_through | processor i = 1
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_asic_info
  asic_info['market_name'] is: Navi 21 GL-XL [Radeon PRO W6800]
  asic_info['vendor_id'] is: 0x1002
  asic_info['vendor_name'] is: Advanced Micro Devices Inc. [AMD/ATI]
  asic_info['device_id'] is: 0x73a3
  asic_info['rev_id'] is: 0x00

  asic_info['asic_serial'] is: 0x1F75223E5E64EAC1

  asic_info['oam_id'] is: N/A

###Test amdsmi_get_power_cap_info
  power_info['dpm_cap'] is: 1
  power_info['power_cap'] is: 213000000

###Test amdsmi_get_gpu_vbios_info
  vbios_info['part_number'] is: 113-D4300100-100
  vbios_info['build_date'] is: 2021/04/22 09:34
  vbios_info['name'] is: NAVI21 D43001 GLXL

  vbios_info['version'] is: 020.001.000.060.016898

###Test amdsmi_get_gpu_board_info
  board_info['model_number'] is: N/A

  board_info['product_serial'] is: N/A

  board_info['fru_id'] is: N/A

  board_info['manufacturer_name'] is: Advanced Micro Devices, Inc. [AMD/ATI]

  board_info['product_name'] is: Navi 21 GL-XL [Radeon PRO W6800]

###Test amdsmi_get_fw_info
FW name:           AMDSMI_FW_ID_CP_CE
FW version:        37
FW name:           AMDSMI_FW_ID_CP_PFP
FW version:        98
FW name:           AMDSMI_FW_ID_CP_ME
FW version:        64
FW name:           AMDSMI_FW_ID_CP_MEC1
FW version:        118
FW name:           AMDSMI_FW_ID_CP_MEC2
FW version:        118
FW name:           AMDSMI_FW_ID_RLC
FW version:        96
FW name:           AMDSMI_FW_ID_SDMA0
FW version:        83
FW name:           AMDSMI_FW_ID_SDMA1
FW version:        83
FW name:           AMDSMI_FW_ID_VCN
FW version:        31.1E.00.8
FW name:           AMDSMI_FW_ID_PSP_SOSDRV
FW version:        21.0E.64
FW name:           AMDSMI_FW_ID_ASD
FW version:        553648340
FW name:           AMDSMI_FW_ID_TA_RAS
FW version:        1B.00.01.3E
FW name:           AMDSMI_FW_ID_TA_XGMI
FW version:        20.00.00.0F
FW name:           AMDSMI_FW_ID_PM
FW version:        58.89.0
###Test amdsmi_get_gpu_driver_info
Driver info:  {'driver_name': 'amdgpu', 'driver_version': '6.7.8', 'driver_date': '2015/01/01 00:00'}
###Test amdsmi_get_gpu_driver_info() | END walk_through | processor i = 1
ok

----------------------------------------------------------------------
Ran 6 tests in 0.077s

OK
(Tue Jul-7 12:07:47am)-(CPU 0.3%:0:Net 18)-(charpoag@mlsetools2:/opt/rocm/share/amd_smi/tests/pytest)-(44K:3)
> python3 -m pytest -s -ra -vvv -p no:cacheprovider
==================================== test session starts =====================================
platform linux -- Python 3.8.10, pytest-8.2.2, pluggy-1.5.0 -- /usr/bin/python3
rootdir: /opt/rocm/share/amd_smi
configfile: pyproject.toml
collected 6 items

integration_test.py::TestAmdSmiInit::test_init PASSED
integration_test.py::TestAmdSmiPythonInterface::test_bad_page_info ###Test amdsmi_get_gpu_bad_page_info

**** [ERROR] | Test: test_bad_page_info | Caught AmdSmiLibraryException
PASSED
integration_test.py::TestAmdSmiPythonInterface::test_bdf_device_id ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_vbios_info

  vbios_info['part_number'] is: 113-D41207XL-038
  vbios_info['build_date'] is: 2020/10/06 17:59
  vbios_info['version'] is: 020.001.000.038.015697

  vbios_info['name'] is: NAVI21 Gaming XL D412

###Test amdsmi_get_gpu_device_uuid

  uuid is: 81ff73bf-0000-1000-80c1-6890a5911040
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_vbios_info

  vbios_info['part_number'] is: 113-D4300100-100
  vbios_info['build_date'] is: 2021/04/22 09:34
  vbios_info['version'] is: 020.001.000.060.016898

  vbios_info['name'] is: NAVI21 D43001 GLXL

###Test amdsmi_get_gpu_device_uuid

  uuid is: 1fff73a3-0000-1000-8075-223e5e64eac1
PASSED
integration_test.py::TestAmdSmiPythonInterface::test_ecc ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_ras_feature_info

**** [ERROR] | Test: test_ecc | Caught AmdSmiLibraryException
PASSED
integration_test.py::TestAmdSmiPythonInterface::test_gpu_performance ###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_activity
  engine_usage['gfx_activity'] is: 3 %
  engine_usage['umc_activity'] is: 0 %
  engine_usage['mm_activity'] is: 0 %

###Test amdsmi_get_power_info
  power_info['current_socket_power'] is: N/A
  power_info['average_socket_power'] is: 8
  power_info['gfx_voltage'] is: 768
  power_info['soc_voltage'] is: 918
  power_info['mem_voltage'] is: 1250
  power_info['power_limit'] is: 203000000
###Test amdsmi_is_gpu_power_management_enabled
  Is power management enabled is: True
###Test amdsmi_get_temp_metric
  Current temperature for EDGE is: 44
  Current temperature for HOTSPOT is: 45
  Current temperature for VRAM is: 40
###Test amdsmi_get_temp_metric
  Limit (critical) temperature for EDGE is: 100
  Limit (critical) temperature for HOTSPOT is: 110
  Limit (critical) temperature for VRAM is: 100
###Test amdsmi_get_temp_metric
  Shutdown (emergency) temperature for EDGE is: 105
  Shutdown (emergency) temperature for HOTSPOT is: 115
  Shutdown (emergency) temperature for VRAM is: 105
###Test amdsmi_get_clock_info
  Current clock for domain GFX is: 500
  Max clock for domain GFX is: 2475
  Min clock for domain GFX is: 500
  Is GFX clock locked: 0
  Is GFX clock in deep sleep: 255
  Current clock for domain MEM is: 96
  Max clock for domain MEM is: 1000
  Min clock for domain MEM is: 96
  Is MEM clock in deep sleep: 255
  Current clock for domain VCLK0 is: 0
  Max clock for domain VCLK0 is: 0
  Min clock for domain VCLK0 is: 0
  Is VCLK0 clock in deep sleep: 255
  Current clock for domain VCLK1 is: 0
  Max clock for domain VCLK1 is: 0
  Min clock for domain VCLK1 is: 0
  Is VCLK1 clock in deep sleep: 255
  Current clock for domain DCLK0 is: 0
  Max clock for domain DCLK0 is: 0
  Min clock for domain DCLK0 is: 0
  Is DCLK0 clock in deep sleep: 255
  Current clock for domain DCLK1 is: 0
  Max clock for domain DCLK1 is: 0
  Min clock for domain DCLK1 is: 0
  Is DCLK1 clock in deep sleep: 255
###Test amdsmi_get_pcie_info
  pcie_info['pcie_metric']['pcie_width'] is: 4
  pcie_info['pcie_static']['max_pcie_width'] is: 16
  pcie_info['pcie_metric']['pcie_speed'] is: 5000 MT/s
  pcie_info['pcie_static']['max_pcie_speed'] is: 16000
  pcie_info['pcie_static']['pcie_interface_version'] is: 4
  pcie_info['pcie_static']['slot_type'] is: CEM
  pcie_info['pcie_metric']['pcie_replay_count'] is: N/A
  pcie_info['pcie_metric']['pcie_bandwidth'] is: N/A
  pcie_info['pcie_metric']['pcie_l0_to_recovery_count'] is: N/A
  pcie_info['pcie_metric']['pcie_replay_roll_over_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_sent_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_received_count'] is: N/A
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_activity
  engine_usage['gfx_activity'] is: 0 %
  engine_usage['umc_activity'] is: 0 %
  engine_usage['mm_activity'] is: 0 %

###Test amdsmi_get_power_info
  power_info['current_socket_power'] is: N/A
  power_info['average_socket_power'] is: 13
  power_info['gfx_voltage'] is: 781
  power_info['soc_voltage'] is: 806
  power_info['mem_voltage'] is: 1250
  power_info['power_limit'] is: 213000000
###Test amdsmi_is_gpu_power_management_enabled
  Is power management enabled is: True
###Test amdsmi_get_temp_metric
  Current temperature for EDGE is: 36
  Current temperature for HOTSPOT is: 39
  Current temperature for VRAM is: 38
###Test amdsmi_get_temp_metric
  Limit (critical) temperature for EDGE is: 109
  Limit (critical) temperature for HOTSPOT is: 110
  Limit (critical) temperature for VRAM is: 100
###Test amdsmi_get_temp_metric
  Shutdown (emergency) temperature for EDGE is: 114
  Shutdown (emergency) temperature for HOTSPOT is: 115
  Shutdown (emergency) temperature for VRAM is: 105
###Test amdsmi_get_clock_info
  Current clock for domain GFX is: 500
  Max clock for domain GFX is: 2555
  Min clock for domain GFX is: 500
  Is GFX clock locked: 0
  Is GFX clock in deep sleep: 255
  Current clock for domain MEM is: 96
  Max clock for domain MEM is: 1000
  Min clock for domain MEM is: 96
  Is MEM clock in deep sleep: 255
  Current clock for domain VCLK0 is: 0
  Max clock for domain VCLK0 is: 0
  Min clock for domain VCLK0 is: 0
  Is VCLK0 clock in deep sleep: 255
  Current clock for domain VCLK1 is: 0
  Max clock for domain VCLK1 is: 0
  Min clock for domain VCLK1 is: 0
  Is VCLK1 clock in deep sleep: 255
  Current clock for domain DCLK0 is: 0
  Max clock for domain DCLK0 is: 0
  Min clock for domain DCLK0 is: 0
  Is DCLK0 clock in deep sleep: 255
  Current clock for domain DCLK1 is: 0
  Max clock for domain DCLK1 is: 0
  Min clock for domain DCLK1 is: 0
  Is DCLK1 clock in deep sleep: 255
###Test amdsmi_get_pcie_info
  pcie_info['pcie_metric']['pcie_width'] is: 16
  pcie_info['pcie_static']['max_pcie_width'] is: 16
  pcie_info['pcie_metric']['pcie_speed'] is: 8000 MT/s
  pcie_info['pcie_static']['max_pcie_speed'] is: 16000
  pcie_info['pcie_static']['pcie_interface_version'] is: 4
  pcie_info['pcie_static']['slot_type'] is: CEM
  pcie_info['pcie_metric']['pcie_replay_count'] is: N/A
  pcie_info['pcie_metric']['pcie_bandwidth'] is: N/A
  pcie_info['pcie_metric']['pcie_l0_to_recovery_count'] is: N/A
  pcie_info['pcie_metric']['pcie_replay_roll_over_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_sent_count'] is: N/A
  pcie_info['pcie_metric']['pcie_nak_received_count'] is: N/A
PASSED
integration_test.py::TestAmdSmiPythonInterface::test_walkthrough ###Test amdsmi_get_processor_handles()
###Test amdsmi_get_gpu_device_bdf() | START walk_through | processor i = 0
###Test Processor 0, bdf: 0000:08:00.0

###Test amdsmi_get_gpu_asic_info
  asic_info['market_name'] is: NAVI21
  asic_info['vendor_id'] is: 0x1002
  asic_info['vendor_name'] is: Advanced Micro Devices Inc. [AMD/ATI]
  asic_info['device_id'] is: 0x73bf
  asic_info['rev_id'] is: 0xc3

  asic_info['asic_serial'] is: 0x81C16890A5911040

  asic_info['oam_id'] is: N/A

###Test amdsmi_get_power_cap_info
  power_info['dpm_cap'] is: 1
  power_info['power_cap'] is: 203000000

###Test amdsmi_get_gpu_vbios_info
  vbios_info['part_number'] is: 113-D41207XL-038
  vbios_info['build_date'] is: 2020/10/06 17:59
  vbios_info['name'] is: NAVI21 Gaming XL D412

  vbios_info['version'] is: 020.001.000.038.015697

###Test amdsmi_get_gpu_board_info
  board_info['model_number'] is: N/A

  board_info['product_serial'] is: N/A

  board_info['fru_id'] is: N/A

  board_info['manufacturer_name'] is: Advanced Micro Devices, Inc. [AMD/ATI]

  board_info['product_name'] is: Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]

###Test amdsmi_get_fw_info
FW name:           AMDSMI_FW_ID_CP_CE
FW version:        37
FW name:           AMDSMI_FW_ID_CP_PFP
FW version:        98
FW name:           AMDSMI_FW_ID_CP_ME
FW version:        64
FW name:           AMDSMI_FW_ID_CP_MEC1
FW version:        118
FW name:           AMDSMI_FW_ID_CP_MEC2
FW version:        118
FW name:           AMDSMI_FW_ID_RLC
FW version:        96
FW name:           AMDSMI_FW_ID_SDMA0
FW version:        83
FW name:           AMDSMI_FW_ID_SDMA1
FW version:        83
FW name:           AMDSMI_FW_ID_VCN
FW version:        31.1E.00.8
FW name:           AMDSMI_FW_ID_PSP_SOSDRV
FW version:        21.0E.64
FW name:           AMDSMI_FW_ID_ASD
FW version:        553648340
FW name:           AMDSMI_FW_ID_TA_RAS
FW version:        1B.00.01.3E
FW name:           AMDSMI_FW_ID_TA_XGMI
FW version:        20.00.00.0F
FW name:           AMDSMI_FW_ID_PM
FW version:        58.89.0
###Test amdsmi_get_gpu_driver_info
Driver info:  {'driver_name': 'amdgpu', 'driver_version': '6.7.8', 'driver_date': '2015/01/01 00:00'}
###Test amdsmi_get_gpu_driver_info() | END walk_through | processor i = 0
###Test amdsmi_get_gpu_device_bdf() | START walk_through | processor i = 1
###Test Processor 1, bdf: 0000:44:00.0

###Test amdsmi_get_gpu_asic_info
  asic_info['market_name'] is: Navi 21 GL-XL [Radeon PRO W6800]
  asic_info['vendor_id'] is: 0x1002
  asic_info['vendor_name'] is: Advanced Micro Devices Inc. [AMD/ATI]
  asic_info['device_id'] is: 0x73a3
  asic_info['rev_id'] is: 0x00

  asic_info['asic_serial'] is: 0x1F75223E5E64EAC1

  asic_info['oam_id'] is: N/A

###Test amdsmi_get_power_cap_info
  power_info['dpm_cap'] is: 1
  power_info['power_cap'] is: 213000000

###Test amdsmi_get_gpu_vbios_info
  vbios_info['part_number'] is: 113-D4300100-100
  vbios_info['build_date'] is: 2021/04/22 09:34
  vbios_info['name'] is: NAVI21 D43001 GLXL

  vbios_info['version'] is: 020.001.000.060.016898

###Test amdsmi_get_gpu_board_info
  board_info['model_number'] is: N/A

  board_info['product_serial'] is: N/A

  board_info['fru_id'] is: N/A

  board_info['manufacturer_name'] is: Advanced Micro Devices, Inc. [AMD/ATI]

  board_info['product_name'] is: Navi 21 GL-XL [Radeon PRO W6800]

###Test amdsmi_get_fw_info
FW name:           AMDSMI_FW_ID_CP_CE
FW version:        37
FW name:           AMDSMI_FW_ID_CP_PFP
FW version:        98
FW name:           AMDSMI_FW_ID_CP_ME
FW version:        64
FW name:           AMDSMI_FW_ID_CP_MEC1
FW version:        118
FW name:           AMDSMI_FW_ID_CP_MEC2
FW version:        118
FW name:           AMDSMI_FW_ID_RLC
FW version:        96
FW name:           AMDSMI_FW_ID_SDMA0
FW version:        83
FW name:           AMDSMI_FW_ID_SDMA1
FW version:        83
FW name:           AMDSMI_FW_ID_VCN
FW version:        31.1E.00.8
FW name:           AMDSMI_FW_ID_PSP_SOSDRV
FW version:        21.0E.64
FW name:           AMDSMI_FW_ID_ASD
FW version:        553648340
FW name:           AMDSMI_FW_ID_TA_RAS
FW version:        1B.00.01.3E
FW name:           AMDSMI_FW_ID_TA_XGMI
FW version:        20.00.00.0F
FW name:           AMDSMI_FW_ID_PM
FW version:        58.89.0
###Test amdsmi_get_gpu_driver_info
Driver info:  {'driver_name': 'amdgpu', 'driver_version': '6.7.8', 'driver_date': '2015/01/01 00:00'}
###Test amdsmi_get_gpu_driver_info() | END walk_through | processor i = 1
PASSED

===================================== 6 passed in 0.10s ======================================
$ python3 /opt/rocm/share/amd_smi/tests/pytest/integration_test.py -k "*test_init" -vvv
test_init (__main__.TestAmdSmiInit) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.009s

OK

(Tue Jul-7 12:10:10am)-(CPU 0.3%:0:Net 16)-(charpoag@mlsetools2:/opt/rocm/share/amd_smi/tests/pytest)-(44K:3)
> python3 -m pytest -ra -vvv -p no:cacheprovider
==================================== test session starts =====================================
platform linux -- Python 3.8.10, pytest-8.2.2, pluggy-1.5.0 -- /usr/bin/python3
rootdir: /opt/rocm/share/amd_smi
configfile: pyproject.toml
collected 6 items

integration_test.py::TestAmdSmiInit::test_init PASSED                                  [ 16%]
integration_test.py::TestAmdSmiPythonInterface::test_bad_page_info PASSED              [ 33%]
integration_test.py::TestAmdSmiPythonInterface::test_bdf_device_id PASSED              [ 50%]
integration_test.py::TestAmdSmiPythonInterface::test_ecc PASSED                        [ 66%]
integration_test.py::TestAmdSmiPythonInterface::test_gpu_performance PASSED            [ 83%]
integration_test.py::TestAmdSmiPythonInterface::test_walkthrough PASSED                [100%]

===================================== 6 passed in 0.11s ======================================