mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2024-11-25 05:21:33 +00:00
94 lines
2.7 KiB
Go
94 lines
2.7 KiB
Go
|
// Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
|
||
|
//
|
||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
// you may not use this file except in compliance with the License.
|
||
|
// You may obtain a copy of the License at
|
||
|
//
|
||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||
|
//
|
||
|
// Unless required by applicable law or agreed to in writing, software
|
||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
// See the License for the specific language governing permissions and
|
||
|
// limitations under the License.
|
||
|
|
||
|
package nvml
|
||
|
|
||
|
// nvml.GpmMetricsGet()
|
||
|
type GpmMetricsGetVType struct {
|
||
|
metricsGet *GpmMetricsGetType
|
||
|
}
|
||
|
|
||
|
func GpmMetricsGetV(MetricsGet *GpmMetricsGetType) GpmMetricsGetVType {
|
||
|
return GpmMetricsGetVType{MetricsGet}
|
||
|
}
|
||
|
|
||
|
func (MetricsGetV GpmMetricsGetVType) V1() Return {
|
||
|
MetricsGetV.metricsGet.Version = 1
|
||
|
return nvmlGpmMetricsGet(MetricsGetV.metricsGet)
|
||
|
}
|
||
|
|
||
|
func GpmMetricsGet(MetricsGet *GpmMetricsGetType) Return {
|
||
|
MetricsGet.Version = GPM_METRICS_GET_VERSION
|
||
|
return nvmlGpmMetricsGet(MetricsGet)
|
||
|
}
|
||
|
|
||
|
// nvml.GpmSampleFree()
|
||
|
func GpmSampleFree(GpmSample GpmSample) Return {
|
||
|
return nvmlGpmSampleFree(GpmSample)
|
||
|
}
|
||
|
|
||
|
// nvml.GpmSampleAlloc()
|
||
|
func GpmSampleAlloc(GpmSample *GpmSample) Return {
|
||
|
return nvmlGpmSampleAlloc(GpmSample)
|
||
|
}
|
||
|
|
||
|
// nvml.GpmSampleGet()
|
||
|
func GpmSampleGet(Device Device, GpmSample GpmSample) Return {
|
||
|
return nvmlGpmSampleGet(Device, GpmSample)
|
||
|
}
|
||
|
|
||
|
func (Device Device) GpmSampleGet(GpmSample GpmSample) Return {
|
||
|
return GpmSampleGet(Device, GpmSample)
|
||
|
}
|
||
|
|
||
|
// nvml.GpmQueryDeviceSupport()
|
||
|
type GpmSupportV struct {
|
||
|
device Device
|
||
|
}
|
||
|
|
||
|
func GpmQueryDeviceSupportV(Device Device) GpmSupportV {
|
||
|
return GpmSupportV{Device}
|
||
|
}
|
||
|
|
||
|
func (Device Device) GpmQueryDeviceSupportV() GpmSupportV {
|
||
|
return GpmSupportV{Device}
|
||
|
}
|
||
|
|
||
|
func (GpmSupportV GpmSupportV) V1() (GpmSupport, Return) {
|
||
|
var GpmSupport GpmSupport
|
||
|
GpmSupport.Version = 1
|
||
|
ret := nvmlGpmQueryDeviceSupport(GpmSupportV.device, &GpmSupport)
|
||
|
return GpmSupport, ret
|
||
|
}
|
||
|
|
||
|
func GpmQueryDeviceSupport(Device Device) (GpmSupport, Return) {
|
||
|
var GpmSupport GpmSupport
|
||
|
GpmSupport.Version = GPM_SUPPORT_VERSION
|
||
|
ret := nvmlGpmQueryDeviceSupport(Device, &GpmSupport)
|
||
|
return GpmSupport, ret
|
||
|
}
|
||
|
|
||
|
func (Device Device) GpmQueryDeviceSupport() (GpmSupport, Return) {
|
||
|
return GpmQueryDeviceSupport(Device)
|
||
|
}
|
||
|
|
||
|
// nvml.GpmMigSampleGet()
|
||
|
func GpmMigSampleGet(Device Device, GpuInstanceId int, GpmSample GpmSample) Return {
|
||
|
return nvmlGpmMigSampleGet(Device, uint32(GpuInstanceId), GpmSample)
|
||
|
}
|
||
|
|
||
|
func (Device Device) GpmMigSampleGet(GpuInstanceId int, GpmSample GpmSample) Return {
|
||
|
return GpmMigSampleGet(Device, GpuInstanceId, GpmSample)
|
||
|
}
|