Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions api/openapi-spec/swagger.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions api/python_api/kubeflow_trainer_api/models/__init__.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,19 @@ spec:
description: mlPolicy provides the ML-specific parameters for the
model training.
properties:
flux:
description: flux defines the configuration for the Flux runtime.
properties:
numProcPerNode:
default: 1
description: numProcPerNode is the number of processes per
node.
format: int32
type: integer
x-kubernetes-validations:
- message: NumProcPerNode in fluxPolicy must be >= 1
rule: self >= 1
type: object
mpi:
description: mpi defines the configuration for the MPI Runtime.
properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,19 @@ spec:
description: mlPolicy provides the ML-specific parameters for the
model training.
properties:
flux:
description: flux defines the configuration for the Flux runtime.
properties:
numProcPerNode:
default: 1
description: numProcPerNode is the number of processes per
node.
format: int32
type: integer
x-kubernetes-validations:
- message: NumProcPerNode in fluxPolicy must be >= 1
rule: self >= 1
type: object
mpi:
description: mpi defines the configuration for the MPI Runtime.
properties:
Expand Down
32 changes: 32 additions & 0 deletions examples/flux/lammps-train-job.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# This example deploys the LAMMPS Molecular Dynamic Simulator
# with MPI orchestrated by the Flux workload manager on 4 nodes.
# The problem size is defined by the coordinates x,y,z, and the
# parameter file reaxc.hns.
# The image has the application, LAMMPS, installed (no Flux)
# A Flux view will be added on the fly by the Kubeflow trainer
# The 4 pods ideally map 1:1 to nodes, encompassing a cluster
# The underlying abstraction is a JobSet with a headless service
# Flux supports low-latency with Infiniband, EFA, etc., however
# standard ethernet is used here.
apiVersion: trainer.kubeflow.org/v1alpha1
kind: TrainJob
metadata:
name: lammps-flux-interactive
spec:
# Reference the pre-defined runtime by name
runtimeRef:
name: flux-runtime
trainer:
numNodes: 4
image: ghcr.io/converged-computing/metric-lammps:latest
# You do not need to write "flux run, etc" here. It will be wrapped
command: ["lmp", "-v", "x", "2", "-v", "y", "2", "-v", "z", "2", "-in", "in.reaxc.hns", "-nocite"]
# Comment out the command above to make an interactive cluster! Then shell into the 0-0 pod:
# # Source environment
# . /mnt/flux/flux-view.sh
# # Connect to the running lead broker socket
# flux proxy $fluxsocket bash
# # See Flux resources!
# flux resource list
# Run lammps!
# flux run -N 4 -n 4 lmp -v x 2 -v y 2 -v z 2 -in in.reaxc.hns -nocite
Loading
Loading