Skip to content

AmdSmiPlugin update#179

Draft
jaspals3123 wants to merge 6 commits intodevelopmentfrom
jaspal_amdmiupdate
Draft

AmdSmiPlugin update#179
jaspals3123 wants to merge 6 commits intodevelopmentfrom
jaspal_amdmiupdate

Conversation

@jaspals3123
Copy link
Copy Markdown
Collaborator

@jaspals3123 jaspals3123 commented Apr 7, 2026

fixed:
a. AmdSmi should not fail when expected xgmi_speed is not give. It should give a warning that expected value is not set and analysis is skipped.

b. AmdSmiPlugin: ('Setting analyzer args from datamodel is not implemented for class: %s', 'AmdSmiAnalyzerArgs')

Update : implemented arg --expected-firmware-versions to give flexibility to user to check for desrired fw

node-scraper run-plugins AmdSmiPlugin --expected-firmware-versions '{"PLDM_BUNDLE":"00.26.00.02"}'

or

 node-scraper --plugin-configs amdsmi_fw.json 

(venv) (py39) jaspals@smci350-zts-gtu-f10-15:~/node-scraper$ cat amdsmi_fw.json 
{
  "plugins": {
    "AmdSmiPlugin": {
      "analysis_args": {
        "expected_firmware_versions": {
          "PLDM_BUNDLE": "00.26.00.02",
          "PM": "04.86.16.03"
        }
      }
    }
  }

class AmdSmiAnalysisRef(BaseModel):
"""Collector-filled summary for reference config"""

model_config = ConfigDict(extra="forbid")
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dont think this is needed

return None


_PLDM_FW_ID = "PLDM_BUNDLE"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@graepaul is this something we can move into an analyzer_arg? will this value ever change?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would use {fw_id: fw_verrsion} map as an analyzer arg to provide more flexibility to the users

The users should then provide a dict where the keys are fw_ids and the values are the fw_version

Copy link
Copy Markdown
Collaborator

@graepaul graepaul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like having XGMI Speed optional, see comments on the rest of the changes.

_PLDM_FW_ID = "PLDM_BUNDLE"


def build_amd_smi_analysis_ref(
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would make more sense as a method in the AmdSmiDataModel

return None


_PLDM_FW_ID = "PLDM_BUNDLE"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would use {fw_id: fw_verrsion} map as an analyzer arg to provide more flexibility to the users

The users should then provide a dict where the keys are fw_ids and the values are the fw_version

Comment on lines +1040 to +1050
gpu_processes_max: Optional[int] = None
if process:
counts: list[int] = []
for proc in process:
if not proc.process_list:
continue
if isinstance(proc.process_list[0].process_info, str):
continue
counts.append(len(proc.process_list))
if counts:
gpu_processes_max = max(counts)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could these just be independent properties in the AmdSmiDataModel

@jaspals3123 jaspals3123 closed this Apr 9, 2026
@jaspals3123 jaspals3123 reopened this Apr 9, 2026
@jaspals3123 jaspals3123 marked this pull request as draft April 9, 2026 15:34
@jaspals3123 jaspals3123 self-assigned this Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants