1
0
Fork 0
mirror of https://github.com/arangodb/kube-arangodb.git synced 2024-12-14 11:57:37 +00:00

[Feature] [ML] GPU Jobs (#1549)

This commit is contained in:
Adam Janikowski 2023-12-21 13:31:03 +01:00 committed by GitHub
parent df65970319
commit de4def4693
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 59 additions and 3 deletions

View file

@ -37,6 +37,7 @@
- (Feature) (ML) Multi DB Settings - (Feature) (ML) Multi DB Settings
- (Feature) (ML) Port adjustments - (Feature) (ML) Port adjustments
- (Feature) (ML) Support for deployments with JWT auth enabled - (Feature) (ML) Support for deployments with JWT auth enabled
- (Feature) (ML) GPU Jobs
## [1.2.35](https://github.com/arangodb/kube-arangodb/tree/1.2.35) (2023-11-06) ## [1.2.35](https://github.com/arangodb/kube-arangodb/tree/1.2.35) (2023-11-06)
- (Maintenance) Update go-driver to v1.6.0, update IsNotFound() checks - (Maintenance) Update go-driver to v1.6.0, update IsNotFound() checks

View file

@ -66,6 +66,16 @@ Links:
*** ***
### .spec.deployment.prediction.gpu
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/ml/v1alpha1/extension_spec_deployment_component.go#L31)</sup>
GPU defined if GPU Jobs are enabled for component. In use only for ArangoMLExtensionSpecDeploymentComponentPrediction and ArangoMLExtensionSpecDeploymentComponentTraining
Default Value: `false`
***
### .spec.deployment.prediction.image ### .spec.deployment.prediction.image
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/shared/v1/image.go#L31)</sup> Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/shared/v1/image.go#L31)</sup>
@ -76,7 +86,7 @@ Image define image details
### .spec.deployment.prediction.port ### .spec.deployment.prediction.port
Type: `integer` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/ml/v1alpha1/extension_spec_deployment_component.go#L30)</sup> Type: `integer` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/ml/v1alpha1/extension_spec_deployment_component.go#L34)</sup>
Port defines on which port the container will be listening for connections Port defines on which port the container will be listening for connections
@ -122,6 +132,16 @@ Links:
*** ***
### .spec.deployment.project.gpu
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/ml/v1alpha1/extension_spec_deployment_component.go#L31)</sup>
GPU defined if GPU Jobs are enabled for component. In use only for ArangoMLExtensionSpecDeploymentComponentPrediction and ArangoMLExtensionSpecDeploymentComponentTraining
Default Value: `false`
***
### .spec.deployment.project.image ### .spec.deployment.project.image
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/shared/v1/image.go#L31)</sup> Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/shared/v1/image.go#L31)</sup>
@ -132,7 +152,7 @@ Image define image details
### .spec.deployment.project.port ### .spec.deployment.project.port
Type: `integer` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/ml/v1alpha1/extension_spec_deployment_component.go#L30)</sup> Type: `integer` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/ml/v1alpha1/extension_spec_deployment_component.go#L34)</sup>
Port defines on which port the container will be listening for connections Port defines on which port the container will be listening for connections
@ -240,6 +260,16 @@ Links:
*** ***
### .spec.deployment.training.gpu
Type: `boolean` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/ml/v1alpha1/extension_spec_deployment_component.go#L31)</sup>
GPU defined if GPU Jobs are enabled for component. In use only for ArangoMLExtensionSpecDeploymentComponentPrediction and ArangoMLExtensionSpecDeploymentComponentTraining
Default Value: `false`
***
### .spec.deployment.training.image ### .spec.deployment.training.image
Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/shared/v1/image.go#L31)</sup> Type: `string` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/shared/v1/image.go#L31)</sup>
@ -250,7 +280,7 @@ Image define image details
### .spec.deployment.training.port ### .spec.deployment.training.port
Type: `integer` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/ml/v1alpha1/extension_spec_deployment_component.go#L30)</sup> Type: `integer` <sup>[\[ref\]](https://github.com/arangodb/kube-arangodb/blob/1.2.35/pkg/apis/ml/v1alpha1/extension_spec_deployment_component.go#L34)</sup>
Port defines on which port the container will be listening for connections Port defines on which port the container will be listening for connections

View file

@ -26,6 +26,10 @@ import (
) )
type ArangoMLExtensionSpecDeploymentComponent struct { type ArangoMLExtensionSpecDeploymentComponent struct {
// GPU defined if GPU Jobs are enabled for component. In use only for ArangoMLExtensionSpecDeploymentComponentPrediction and ArangoMLExtensionSpecDeploymentComponentTraining
// +doc/default: false
GPU *bool `json:"gpu,omitempty"`
// Port defines on which port the container will be listening for connections // Port defines on which port the container will be listening for connections
Port *int32 `json:"port,omitempty"` Port *int32 `json:"port,omitempty"`
@ -33,6 +37,13 @@ type ArangoMLExtensionSpecDeploymentComponent struct {
*sharedApi.ContainerTemplate `json:",inline"` *sharedApi.ContainerTemplate `json:",inline"`
} }
func (s *ArangoMLExtensionSpecDeploymentComponent) GetGPU() bool {
if s == nil || s.GPU == nil {
return false
}
return *s.GPU
}
func (s *ArangoMLExtensionSpecDeploymentComponent) GetPort(def int32) int32 { func (s *ArangoMLExtensionSpecDeploymentComponent) GetPort(def int32) int32 {
if s == nil || s.Port == nil { if s == nil || s.Port == nil {
return def return def

View file

@ -419,6 +419,11 @@ func (in *ArangoMLExtensionSpecDeployment) DeepCopy() *ArangoMLExtensionSpecDepl
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ArangoMLExtensionSpecDeploymentComponent) DeepCopyInto(out *ArangoMLExtensionSpecDeploymentComponent) { func (in *ArangoMLExtensionSpecDeploymentComponent) DeepCopyInto(out *ArangoMLExtensionSpecDeploymentComponent) {
*out = *in *out = *in
if in.GPU != nil {
in, out := &in.GPU, &out.GPU
*out = new(bool)
**out = **in
}
if in.Port != nil { if in.Port != nil {
in, out := &in.Port, &out.Port in, out := &in.Port, &out.Port
*out = new(int32) *out = new(int32)

View file

@ -385,6 +385,9 @@ v1alpha1:
prediction: prediction:
description: Prediction defines how Prediction workload will be deployed description: Prediction defines how Prediction workload will be deployed
properties: properties:
gpu:
description: GPU defined if GPU Jobs are enabled for component. In use only for ArangoMLExtensionSpecDeploymentComponentPrediction and ArangoMLExtensionSpecDeploymentComponentTraining
type: boolean
image: image:
description: Image define image details description: Image define image details
type: string type: string
@ -476,6 +479,9 @@ v1alpha1:
project: project:
description: Project defines how Project workload will be deployed description: Project defines how Project workload will be deployed
properties: properties:
gpu:
description: GPU defined if GPU Jobs are enabled for component. In use only for ArangoMLExtensionSpecDeploymentComponentPrediction and ArangoMLExtensionSpecDeploymentComponentTraining
type: boolean
image: image:
description: Image define image details description: Image define image details
type: string type: string
@ -612,6 +618,9 @@ v1alpha1:
training: training:
description: Training defines how Training workload will be deployed description: Training defines how Training workload will be deployed
properties: properties:
gpu:
description: GPU defined if GPU Jobs are enabled for component. In use only for ArangoMLExtensionSpecDeploymentComponentPrediction and ArangoMLExtensionSpecDeploymentComponentTraining
type: boolean
image: image:
description: Image define image details description: Image define image details
type: string type: string