v1

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the training v1 API group. +kubebuilder:object:generate=true +groupName=training.exalsius.ai

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "training.exalsius.ai", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type DDPJob

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

	Spec   DDPJobSpec   `json:"spec,omitempty"`
	Status DDPJobStatus `json:"status,omitempty"`
}

DDPJob is the Schema for the ddpjobs API.

func (*DDPJob) DeepCopy

func (in *DDPJob) DeepCopy() *DDPJob

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

func (*DDPJob) DeepCopyInto

func (in *DDPJob) DeepCopyInto(out *DDPJob)

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

func (*DDPJob) DeepCopyObject

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

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

type DDPJobList

type DDPJobList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DDPJob `json:"items"`
}

DDPJobList contains a list of DDPJob.

func (*DDPJobList) DeepCopy

func (in *DDPJobList) DeepCopy() *DDPJobList

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

func (*DDPJobList) DeepCopyInto

func (in *DDPJobList) DeepCopyInto(out *DDPJobList)

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

func (*DDPJobList) DeepCopyObject

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

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

type DDPJobSpec

type DDPJobSpec struct {
	// CPUJob describes if the job should be running on a CPU.
	// Mainly used for testing purposes, defaults to false if not provided
	// +optional
	CPUJob *bool `json:"cpuJob,omitempty"`

	// GPUTypes describes the list of GPU types to use for training
	// Currently, the user can specify different GPU types which the exalsius-cli uses to find the cheapest prices
	// across different cloud providers and regions. When specified in the CRD, it does not have an effect yet-
	// TODO: think about removing this field from the CRD and create a specific exalsius Job description file?
	// +optional
	GPUTypes []string `json:"gpuTypes,omitempty"`

	// TargetColony describes the colony to run the training job on.
	// If not provided, the job will be run on the management cluster.
	// +optional
	TargetColony *string `json:"targetColony,omitempty"`

	// Parallelism describes the number of GPUs (Pods) to use for training
	Parallelism int32 `json:"parallelism,omitempty"`

	// NProcPerNode describes the number of processes per node (GPU per pod)
	NProcPerNode int32 `json:"nprocPerNode,omitempty"`

	// Image describes the docker image with the training code
	Image string `json:"image,omitempty"`

	// ScriptPath describes the path to the training script
	ScriptPath string `json:"scriptPath,omitempty"`

	// WandBAPIKey describes the WandB API key
	WandBAPIKey string `json:"wandbApiKey,omitempty"`

	// Args describes the arguments to pass to the training script
	Args []string `json:"args,omitempty"`
}

DDPJobSpec defines the desired state of DDPJob.

func (*DDPJobSpec) DeepCopy

func (in *DDPJobSpec) DeepCopy() *DDPJobSpec

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

func (*DDPJobSpec) DeepCopyInto

func (in *DDPJobSpec) DeepCopyInto(out *DDPJobSpec)

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

type DDPJobStatus

type DDPJobStatus struct {
	JobName string   `json:"jobName,omitempty"` // Name of the training job
	Phase   JobPhase `json:"phase,omitempty"`   // Phase of the training job
}

DDPJobStatus defines the observed state of DDPJob.

func (*DDPJobStatus) DeepCopy

func (in *DDPJobStatus) DeepCopy() *DDPJobStatus

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

func (*DDPJobStatus) DeepCopyInto

func (in *DDPJobStatus) DeepCopyInto(out *DDPJobStatus)

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

type JobPhase

type JobPhase string

JobPhase defines the phase of the job.

const (
	// Pending is the phase that job is pending in the queue, waiting for scheduling decision
	Pending JobPhase = "Pending"
	// Aborting is the phase that job is aborted, waiting for releasing pods
	Aborting JobPhase = "Aborting"
	// Aborted is the phase that job is aborted by user or error handling
	Aborted JobPhase = "Aborted"
	// Running is the phase that minimal available tasks of Job are running
	Running JobPhase = "Running"
	// Restarting is the phase that the Job is restarted, waiting for pod releasing and recreating
	Restarting JobPhase = "Restarting"
	// Completing is the phase that required tasks of job are completed, job starts to clean up
	Completing JobPhase = "Completing"
	// Completed is the phase that all tasks of Job are completed
	Completed JobPhase = "Completed"
	// Terminating is the phase that the Job is terminated, waiting for releasing pods
	Terminating JobPhase = "Terminating"
	// Terminated is the phase that the job is finished unexpected, e.g. events
	Terminated JobPhase = "Terminated"
	// Failed is the phase that the job is restarted failed reached the maximum number of retries.
	Failed JobPhase = "Failed"
)

Jump to

Keyboard shortcuts

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