Documentation ¶
Index ¶
- Constants
- Variables
- type AllocatableGpu
- type AllocatedClaim
- type AllocatedClaims
- type AllocatedGpu
- type AllocatedGpus
- type DeviceSelector
- type GpuAllocationState
- type GpuAllocationStateList
- type GpuAllocationStateSpec
- type GpuClaimParameters
- type GpuClaimParametersList
- type GpuClaimParametersSpec
- type GpuClassParameters
- type GpuClassParametersList
- type GpuClassParametersSpec
- type GpuType
- type PreparedClaim
- type PreparedClaims
- type TaintedDevices
- type TaintedGpu
Constants ¶
const ( GpuDeviceType = "gpu" VfDeviceType = "vf" AnyDeviceType = "any" UnknownDeviceType = "unknown" )
Types of Devices that can be allocated.
const ( // K8s API group name. APIGroupName string = "gpu.resource.intel.com" // K8s API group version. APIVersion string = "v1alpha2" )
Variables ¶
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 )
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 ¶
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 ¶
func (in *GpuAllocationStateList) DeepCopy() *GpuAllocationStateList
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 ¶
func (in *GpuAllocationStateSpec) DeepCopy() *GpuAllocationStateSpec
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 ¶
func (in *GpuClaimParametersList) DeepCopy() *GpuClaimParametersList
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"` Shareable bool `json:"shareable,omitempty"` }
GpuClaimParametersSpec is the spec for the GpuClaimParameters CRD.
func (*GpuClaimParametersSpec) DeepCopy ¶
func (in *GpuClaimParametersSpec) DeepCopy() *GpuClaimParametersSpec
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 ¶
func (in *GpuClassParametersList) DeepCopy() *GpuClassParametersList
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"` Shared bool `json:"shared"` }
GpuClassParametersSpec is the spec for the GpuClassParametersSpec CRD.
func (*GpuClassParametersSpec) DeepCopy ¶
func (in *GpuClassParametersSpec) DeepCopy() *GpuClassParametersSpec
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.