Skip to content

Bump to NVML version 13.0#156

Merged
elezar merged 5 commits intoNVIDIA:mainfrom
elezar:update-13.0
Aug 20, 2025
Merged

Bump to NVML version 13.0#156
elezar merged 5 commits intoNVIDIA:mainfrom
elezar:update-13.0

Conversation

@elezar
Copy link
Member

@elezar elezar commented Aug 6, 2025

This change updates the mechanism to update nvml.h to use an officially supported mechansim (closes #153) and uses this to update the bindings to v13.0.

Signed-off-by: Evan Lezar <elezar@nvidia.com>
@elezar elezar self-assigned this Aug 6, 2025
@elezar elezar requested a review from klueska August 6, 2025 11:08
Signed-off-by: Evan Lezar <elezar@nvidia.com>

This comment was marked as outdated.

@elezar elezar force-pushed the update-13.0 branch 4 times, most recently from fd8c8cd to 9a4e6bd Compare August 18, 2025 13:16
func (handler NvLinkInfoHandler) V1() (NvLinkInfo_v1, Return) {
var info NvLinkInfo_v1
info.Version = STRUCT_VERSION(info, 1)
ret := nvmlDeviceGetNvLinkInfo(handler.device, (*NvLinkInfo)(unsafe.Pointer(&info)))
Copy link
Member Author

Choose a reason for hiding this comment

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

@klueska the nvmlDeviceGetNvLinkInfo is already implemented as a versioned API, with the NvLinkInfo type aliasing two types (_v1 and _v2). This is also a NEW API which is why I elected to follow the "handler" approach here.

Copy link
Collaborator

Choose a reason for hiding this comment

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

ACK

elezar added 3 commits August 18, 2025 15:23
Signed-off-by: Evan Lezar <elezar@nvidia.com>
Signed-off-by: Evan Lezar <elezar@nvidia.com>
Signed-off-by: Evan Lezar <elezar@nvidia.com>
pkg/nvml/lib.go Outdated
var nvmlDeviceGetDriverModel = nvmlDeviceGetDriverModel_v1

// BlacklistDeviceInfo was replaced by ExcludedDeviceInfo
var GetBlacklistDeviceCount = GetExcludedDeviceCount
Copy link
Member Author

Choose a reason for hiding this comment

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

I am removing this from this PR to keep the diff cleaner.

Copy link
Collaborator

Choose a reason for hiding this comment

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

ACK

pkg/nvml/lib.go Outdated
nvmlDeviceGetDriverModel = nvmlDeviceGetDriverModel_v2
}

// The following defaults cannot be updated since the function signatures
Copy link
Member Author

Choose a reason for hiding this comment

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

I am removing this from this PR to keep the diff cleaner.

Copy link
Collaborator

Choose a reason for hiding this comment

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

ACK

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request updates the NVML bindings from version 12.9 to 13.0, adding new device management APIs and deprecating several older APIs. The update includes new addressing mode detection, repair status monitoring, power management features, and PRM register access capabilities.

  • Updated NVML header to version 13.0.39 with official download source
  • Added new device APIs for addressing mode, repair status, and power management
  • Deprecated several legacy APIs with proper migration guidance

Reviewed Changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated no comments.

Show a summary per file
File Description
versions.mk Updated Go version from 1.23.2 to 1.24.5
pkg/nvml/nvml.h Updated NVML header from 12.9.40 to 13.0.39 with new APIs and deprecations
pkg/nvml/zz_generated.api.go Added new API bindings for device management functions
pkg/nvml/types_gen.go Updated type definitions with new structures and corrected data types
pkg/nvml/nvml.go Added new C function bindings
pkg/nvml/device.go Implemented new device methods with deprecation warnings
pkg/nvml/vgpu.go Added deprecation notice for VgpuInstanceGetLicenseStatus
pkg/nvml/mock/* Updated mock interfaces with new methods

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Collaborator

@klueska klueska left a comment

Choose a reason for hiding this comment

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

Thanks for the back and forth on this. Looking good now.

@elezar elezar merged commit 3a9ba18 into NVIDIA:main Aug 20, 2025
4 checks passed
@elezar elezar deleted the update-13.0 branch August 20, 2025 07:53
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.

Use supported mechanism to update nvml.h

4 participants