accelerators

package
v0.35.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2020 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Copyright 2017 Google Inc. 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.

Copyright 2017 Google Inc. 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.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcceleratorCollector

type AcceleratorCollector interface {
	UpdateStats(*info.ContainerStats) error
}

type AcceleratorManager

type AcceleratorManager interface {
	Setup()
	Destroy()
	GetCollector(deviceCgroup string) (AcceleratorCollector, error)
}

This is supposed to store global state about an accelerator metrics collector. cadvisor manager will call Setup() when it starts and Destroy() when it stops. For each container detected by the cadvisor manager, it will call GetCollector() with the devices cgroup path for that container. GetCollector() is supposed to return an object that can update accelerator stats for that container.

type NvidiaCollector

type NvidiaCollector struct {
	// Exposed for testing
	Devices []gonvml.Device
}

func (*NvidiaCollector) UpdateStats

func (nc *NvidiaCollector) UpdateStats(stats *info.ContainerStats) error

UpdateStats updates the stats for NVIDIA GPUs (if any) attached to the container.

type NvidiaManager

type NvidiaManager struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*NvidiaManager) Destroy

func (nm *NvidiaManager) Destroy()

Destroy shuts down NVML.

func (*NvidiaManager) GetCollector

func (nm *NvidiaManager) GetCollector(devicesCgroupPath string) (AcceleratorCollector, error)

GetCollector returns a collector that can fetch nvidia gpu metrics for nvidia devices present in the devices.list file in the given devicesCgroupPath.

func (*NvidiaManager) Setup

func (nm *NvidiaManager) Setup()

Setup initializes NVML if nvidia devices are present on the node.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL