v1alpha2

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GpuDeviceType     = "gpu"
	VfDeviceType      = "vf"
	AnyDeviceType     = "any"
	UnknownDeviceType = "unknown"
)

Types of Devices that can be allocated.

View Source
const (
	// K8s API group name.
	APIGroupName string = "gpu.resource.intel.com"
	// K8s API group version.
	APIVersion string = "v1alpha2"
)

Variables

View Source
var (
	// SchemeBuilder initializes a scheme builder.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a global function that registers this API group & version to a scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{
	Group:   APIGroupName,
	Version: APIVersion,
}

SchemeGroupVersion is group version used to register these objects.

Functions

This section is empty.

Types

type AllocatableGpu

type AllocatableGpu struct {
	// Unique identifier of device: PCI address and PCI Device ID.
	UID string `json:"uid"`
	// Amount of local memory in MiB.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=1048576
	Memory uint64 `json:"memory"`
	// Amount of GPU millicores.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=1000
	Millicores uint64 `json:"millicores"`
	// pci-id of the Gpu device.
	Model string `json:"model"`
	// Type of the device: bare-metal Gpu or SR-IOV Virtual Function (VF).
	Type GpuType `json:"type"` // gpu, vf
	// Device where VF should be / is provisioned.
	ParentUID string `json:"parentuid"`
	// Greater than 0 if SR-IOV is supported / enabled.
	Maxvfs uint64 `json:"maxvfs"`
	// Index of SR-IOV Virtual Function
	VFIndex uint64 `json:"vfindex"`
	// True if ECC is enabled, might impact memory amount and VF profiles.
	Ecc bool `json:"ecc"`
}

AllocatableGpu represents an allocatable Gpu on a node.

func (*AllocatableGpu) DeepCopy

func (in *AllocatableGpu) DeepCopy() *AllocatableGpu

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocatableGpu.

func (*AllocatableGpu) DeepCopyInto

func (in *AllocatableGpu) DeepCopyInto(out *AllocatableGpu)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllocatedClaim

type AllocatedClaim struct {
	Gpus AllocatedGpus `json:"gpus"`
}

Resources that were allocated for the claim by controller.

func (*AllocatedClaim) DeepCopy

func (in *AllocatedClaim) DeepCopy() *AllocatedClaim

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocatedClaim.

func (*AllocatedClaim) DeepCopyInto

func (in *AllocatedClaim) DeepCopyInto(out *AllocatedClaim)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllocatedClaims

type AllocatedClaims map[string]AllocatedClaim

Map of resources allocated per claim UID.

func (AllocatedClaims) DeepCopy

func (in AllocatedClaims) DeepCopy() AllocatedClaims

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocatedClaims.

func (AllocatedClaims) DeepCopyInto

func (in AllocatedClaims) DeepCopyInto(out *AllocatedClaims)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllocatedGpu

type AllocatedGpu struct {
	// Unique identifier of device: PCI address and PCI Device ID.
	UID string `json:"uid"`
	// Amount of local memory in MiB.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=1048576
	Memory uint64 `json:"memory"`
	// Amount of GPU millicores.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=1000
	Millicores uint64 `json:"millicores"`
	// Type of the device: bare-metal Gpu or SR-IOV Virtual Function (VF).
	Type GpuType `json:"type"` // gpu, vf
	// Device where VF should be / is provisioned.
	ParentUID string `json:"parentuid"`
	// Index of SR-IOV Virtual Function
	VFIndex uint64 `json:"vfindex"`
	// Virtual Function profile defines amount of local memory and time slice VF gets.
	Profile string `json:"profile"`
}

AllocatedGpu represents an allocated Gpu on a node.

func (*AllocatedGpu) DeepCopy

func (in *AllocatedGpu) DeepCopy() *AllocatedGpu

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocatedGpu.

func (*AllocatedGpu) DeepCopyInto

func (in *AllocatedGpu) DeepCopyInto(out *AllocatedGpu)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AllocatedGpus

type AllocatedGpus []AllocatedGpu

AllocatedGpus represents a list of allocated devices on a node. +kubebuilder:validation:MaxItems=640

func (AllocatedGpus) DeepCopy

func (in AllocatedGpus) DeepCopy() AllocatedGpus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocatedGpus.

func (AllocatedGpus) DeepCopyInto

func (in AllocatedGpus) DeepCopyInto(out *AllocatedGpus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeviceSelector

type DeviceSelector struct {
	Type string `json:"type"`
	Name string `json:"name"`
}

DeviceSelector allows one to match on a specific type of Device as part of the class.

func (*DeviceSelector) DeepCopy

func (in *DeviceSelector) DeepCopy() *DeviceSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSelector.

func (*DeviceSelector) DeepCopyInto

func (in *DeviceSelector) DeepCopyInto(out *DeviceSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GpuAllocationState

type GpuAllocationState struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GpuAllocationStateSpec `json:"spec,omitempty"`
	Status string                 `json:"status,omitempty"`
}

GpuAllocationState holds the state required for allocation on a node.

func (*GpuAllocationState) DeepCopy

func (in *GpuAllocationState) DeepCopy() *GpuAllocationState

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuAllocationState.

func (*GpuAllocationState) DeepCopyInto

func (in *GpuAllocationState) DeepCopyInto(out *GpuAllocationState)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GpuAllocationState) DeepCopyObject

func (in *GpuAllocationState) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GpuAllocationStateList

type GpuAllocationStateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []GpuAllocationState `json:"items"`
}

GpuAllocationStateList represents the "plural" of a GpuAllocationState CRD object.

func (*GpuAllocationStateList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuAllocationStateList.

func (*GpuAllocationStateList) DeepCopyInto

func (in *GpuAllocationStateList) DeepCopyInto(out *GpuAllocationStateList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GpuAllocationStateList) DeepCopyObject

func (in *GpuAllocationStateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GpuAllocationStateSpec

type GpuAllocationStateSpec struct {
	AllocatableDevices map[string]AllocatableGpu `json:"allocatableDevices,omitempty"`
	TaintedDevices     map[string]TaintedGpu     `json:"taintedDevices,omitempty"`
	AllocatedClaims    map[string]AllocatedClaim `json:"allocatedClaims,omitempty"`
}

GpuAllocationStateSpec is the spec for the GpuAllocationState CRD.

func (*GpuAllocationStateSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuAllocationStateSpec.

func (*GpuAllocationStateSpec) DeepCopyInto

func (in *GpuAllocationStateSpec) DeepCopyInto(out *GpuAllocationStateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GpuClaimParameters

type GpuClaimParameters struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec GpuClaimParametersSpec `json:"spec,omitempty"`
}

GpuClaimParameters holds the set of parameters provided when creating a resource claim for a GPU.

func (*GpuClaimParameters) DeepCopy

func (in *GpuClaimParameters) DeepCopy() *GpuClaimParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuClaimParameters.

func (*GpuClaimParameters) DeepCopyInto

func (in *GpuClaimParameters) DeepCopyInto(out *GpuClaimParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GpuClaimParameters) DeepCopyObject

func (in *GpuClaimParameters) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GpuClaimParametersList

type GpuClaimParametersList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []GpuClaimParameters `json:"items"`
}

GpuClaimParametersList represents the "plural" of a GpuClaimParameters CRD object.

func (*GpuClaimParametersList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuClaimParametersList.

func (*GpuClaimParametersList) DeepCopyInto

func (in *GpuClaimParametersList) DeepCopyInto(out *GpuClaimParametersList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GpuClaimParametersList) DeepCopyObject

func (in *GpuClaimParametersList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GpuClaimParametersSpec

type GpuClaimParametersSpec struct {
	// How many items of the Type are being requested. 10 PCIe devices x 64 SR-IOV VFs each = 640 items maximum on one Node.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=640
	Count uint64 `json:"count"`
	// Per GPU memory request, in MiB, maximum 1048576 (1 TiB)
	// +kubebuilder:validation:Minimum=8
	// +kubebuilder:validation:Maximum=1048576
	Memory uint64 `json:"memory,omitempty"`
	// Per GPU millicores request.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=1000
	Millicores uint64 `json:"millicores,omitempty"`

	// +kubebuilder:validation:
	Type GpuType `json:"type,omitempty"`

	// True if the same ResourceClaim can be shared by multiple Pods.
	Shareable bool `json:"shareable,omitempty"`
}

GpuClaimParametersSpec is the spec for the GpuClaimParameters CRD.

func (*GpuClaimParametersSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuClaimParametersSpec.

func (*GpuClaimParametersSpec) DeepCopyInto

func (in *GpuClaimParametersSpec) DeepCopyInto(out *GpuClaimParametersSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GpuClassParameters

type GpuClassParameters struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec GpuClassParametersSpec `json:"spec,omitempty"`
}

GpuClassParameters holds the set of parameters provided when creating a resource class for this driver.

func (*GpuClassParameters) DeepCopy

func (in *GpuClassParameters) DeepCopy() *GpuClassParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuClassParameters.

func (*GpuClassParameters) DeepCopyInto

func (in *GpuClassParameters) DeepCopyInto(out *GpuClassParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GpuClassParameters) DeepCopyObject

func (in *GpuClassParameters) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GpuClassParametersList

type GpuClassParametersList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []GpuClassParameters `json:"items"`
}

GpuClassParametersList represents the "plural" of a GpuClassParameters CRD object.

func (*GpuClassParametersList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuClassParametersList.

func (*GpuClassParametersList) DeepCopyInto

func (in *GpuClassParametersList) DeepCopyInto(out *GpuClassParametersList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GpuClassParametersList) DeepCopyObject

func (in *GpuClassParametersList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GpuClassParametersSpec

type GpuClassParametersSpec struct {
	DeviceSelector []DeviceSelector `json:"deviceSelector,omitempty"`

	Monitor bool `json:"monitor,omitempty"`
	// If true, ResourceClaims of this class share GPU allocated to them. If false, the GPU is allocated to ResourceClaim exclusively.
	Shared bool `json:"shared"`
}

GpuClassParametersSpec is the spec for the GpuClassParametersSpec CRD.

func (*GpuClassParametersSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GpuClassParametersSpec.

func (*GpuClassParametersSpec) DeepCopyInto

func (in *GpuClassParametersSpec) DeepCopyInto(out *GpuClassParametersSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GpuType

type GpuType string

Type of the GPU device: physical or virtual or any. +kubebuilder:validation:Enum=gpu;vf;any

type PreparedClaim

type PreparedClaim []AllocatedGpu

Resources prepared for the claim by kubelet-plugin.

func (PreparedClaim) DeepCopy

func (in PreparedClaim) DeepCopy() PreparedClaim

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreparedClaim.

func (PreparedClaim) DeepCopyInto

func (in PreparedClaim) DeepCopyInto(out *PreparedClaim)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreparedClaims

type PreparedClaims map[string]PreparedClaim

Resources prepared for the claim by kubelet-plugin.

func (PreparedClaims) DeepCopy

func (in PreparedClaims) DeepCopy() PreparedClaims

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreparedClaims.

func (PreparedClaims) DeepCopyInto

func (in PreparedClaims) DeepCopyInto(out *PreparedClaims)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TaintedDevices added in v0.3.0

type TaintedDevices map[string]TaintedGpu

Map of tainted devices on a node.

func (TaintedDevices) DeepCopy added in v0.3.0

func (in TaintedDevices) DeepCopy() TaintedDevices

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaintedDevices.

func (TaintedDevices) DeepCopyInto added in v0.3.0

func (in TaintedDevices) DeepCopyInto(out *TaintedDevices)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TaintedGpu added in v0.3.0

type TaintedGpu struct {
	// Reasons why device is tainted, which _all_ need to be
	// resolved, before device can be dropped from taints map.
	Reasons map[string]bool `json:"reasons,omitempty"`
}

TaintedGpu represents a tainted Gpu on a node.

func (*TaintedGpu) DeepCopy added in v0.3.0

func (in *TaintedGpu) DeepCopy() *TaintedGpu

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaintedGpu.

func (*TaintedGpu) DeepCopyInto added in v0.3.0

func (in *TaintedGpu) DeepCopyInto(out *TaintedGpu)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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