You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -439,6 +439,16 @@ it is not supported for Toolkit development due to GNU specific shell scripts.
439
439
If developing on a mac, a workaround is to install GNU tooling by installing
440
440
`coreutils` and `findutils` from a package manager such as homebrew or conda.
441
441
442
+
## Privacy notice
443
+
444
+
To help improve Cluster Toolkit, feature usage statistics are collected and sent to Google. You can opt-out at any time by executing the following command:
445
+
446
+
```shell
447
+
./gcluster telemetry off
448
+
```
449
+
450
+
Cluster Toolkit telemetry overall is handled in accordance with the [Google Privacy Policy](https://policies.google.com/privacy). When you use Cluster Toolkit to interact with or utilize GCP Services, your information is handled in accordance with the [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice).
451
+
442
452
### Contributing
443
453
444
454
Please refer to the [contributing file](CONTRIBUTING.md) in our GitHub
Copy file name to clipboardExpand all lines: cmd/job/submit.go
+30-18Lines changed: 30 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,7 @@ package job
16
16
17
17
import (
18
18
"fmt"
19
+
"hpc-toolkit/pkg/config"
19
20
"os"
20
21
"slices"
21
22
"time"
@@ -28,21 +29,23 @@ import (
28
29
)
29
30
30
31
var (
31
-
imageNamestring
32
-
baseImagestring
33
-
buildContextstring
34
-
commandToRunstring
35
-
acceleratorTypestring
36
-
dryRunManifeststring
32
+
imageNamestring
33
+
baseImagestring
34
+
buildContextstring
35
+
commandToRunstring
36
+
computeTypestring
37
+
dryRunManifeststring
37
38
38
39
workloadNamestring
39
40
kueueQueueNamestring
40
-
numSlicesOrNodesint
41
-
vmsPerSliceint
42
-
maxRestartsint
41
+
numNodesint
42
+
numSlicesint
43
+
restartsint
43
44
ttlAfterFinishedstring
44
45
gracePeriodStrstring
45
46
47
+
gkeDisableParallelContainersbool
48
+
46
49
placementPolicystring
47
50
nodeConstraintmap[string]string
48
51
@@ -104,17 +107,18 @@ func init() {
104
107
SubmitCmd.Flags().StringVarP(&baseImage, "base-image", "B", "", "Name of the base image for Crane to build upon (e.g., python:3.9-slim). Requires --build-context.")
105
108
SubmitCmd.Flags().StringVarP(&buildContext, "build-context", "b", "", "Path to the build context directory for Crane (e.g., .). Required with --base-image.")
106
109
SubmitCmd.Flags().StringVarP(&commandToRun, "command", "e", "", "Command to execute in the container (e.g., 'python train.py'). Required.")
107
-
SubmitCmd.Flags().StringVarP(&acceleratorType, "accelerator", "a", "", "Type of accelerator to request (e.g., 'nvidia-tesla-a100').")
110
+
SubmitCmd.Flags().StringVar(&computeType, "compute-type", "", "Type of compute to request (e.g., 'n2-standard-32', 'nvidia-l4', 'v6e-8').")
108
111
SubmitCmd.Flags().StringVarP(&dryRunManifest, "dry-run-out", "o", "", "Path to output the generated Kubernetes manifest instead of applying it.")
109
112
SubmitCmd.Flags().StringVarP(&platform, "platform", "f", "linux/amd64", "Target platform for the image build (e.g., 'linux/amd64', 'linux/arm64'). Used with --base-image.")
110
113
111
114
SubmitCmd.Flags().StringVarP(&workloadName, "name", "n", "", "Name of the workload to create. Required.")
112
115
SubmitCmd.Flags().StringVarP(&kueueQueueName, "queue", "q", "", "Name of the Kueue LocalQueue to submit the workload to. If empty, it will be auto-discovered.")
113
-
SubmitCmd.Flags().IntVar(&numSlicesOrNodes, "nodes", 1, "Number of JobSet replicas (or Slices for TPUs).")
114
-
SubmitCmd.Flags().IntVar(&vmsPerSlice, "vms-per-slice", 0, "Number of VMs (pods) per slice. Defaults to auto-calculated value for TPUs.")
115
-
SubmitCmd.Flags().IntVar(&maxRestarts, "max-restarts", 1, "Maximum number of restarts for the JobSet before failing.")
116
+
SubmitCmd.Flags().IntVar(&numNodes, "num-nodes", 1, "The number of nodes to use per group/slice. Defaults to 1 for CPU/GPU, or auto-calculated for TPUs.")
117
+
SubmitCmd.Flags().IntVar(&numSlices, "num-slices", 1, "The number of independent groups/slices to use.")
118
+
SubmitCmd.Flags().IntVar(&restarts, "restarts", 1, "Maximum number of restarts for the JobSet before failing.")
116
119
SubmitCmd.Flags().StringVar(&ttlAfterFinished, "gke-ttl-after-finished", "1h", "Time to retain the JobSet after it finishes (e.g. 5m, 1h).")
117
120
SubmitCmd.Flags().StringVar(&gracePeriodStr, "grace-period", "30s", "Time to wait before forcefully terminating a pod (e.g. 30s, 2m). Gives the workload time to save checkpoints or clean up distributed state during cancellation or preemption events (like Spot VM evictions).")
121
+
SubmitCmd.Flags().BoolVar(&gkeDisableParallelContainers, "gke-disable-parallel-containers", false, "Disable parallel containers for TPU v7/v7x on GKE.")
118
122
119
123
SubmitCmd.Flags().StringVar(&placementPolicy, "placement-policy", "", "Name of the GKE placement policy to use.")
120
124
SubmitCmd.Flags().StringToStringVar(&nodeConstraint, "node-constraint", nil, "Key=value pairs for node labels to target specific nodes. Maps to nodeSelector in GKE, and to SLURM's --constraint.")
0 commit comments