NVIDIA / NVIDIA/open-gpu-kernel-modules

NVML GSP mode function needs reworked

Open
#130 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C
Stars
17.4k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

In 510.68.02, a function was introduced called nvmlDeviceGetGspFirmwareMode. This function has three issues with it:

  1. On Linux, it will fill both pointers with zero(false) even on Pascal when it should instead return NVML_ERROR_NOT_SUPPORTED. This is different to what the previous GSP NVML function, nvmlDeviceGetGspFirmwareVersion does and gives users the impression that their GPU has GSP firmware when it does not.

  2. On Windows with a Maxwell based GPU, nvmlDeviceGetGspFirmwareMode seems to always return NVML_ERROR_NOT_SUPPORTED, which is different than on Linux and Pascal. If you can't already, it should be possible to get the firmware version even on Windows.

  3. NVML_ERROR_NOT_SUPPORTED is returned despite not being documented.

Given that this new kernel driver requires GSP, making sure that it's possible to get reliable information as to whether their GPU has GSP firmware is important. A nvmlDeviceGetGspFirmwareMode_v2 function should be introduced and the old function deprecated to fix these problems.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the nvmlDeviceGetGspFirmwareMode and nvmlDeviceGetGspFirmwareVersion declarations linked in nvml.h, then trace their Linux and Windows implementations for Pascal and Maxwell behavior. Done means a v2 interface reports supported GSP status consistently, documents NVML_ERROR_NOT_SUPPORTED, and leaves the old function deprecated.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
api, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.