-
Notifications
You must be signed in to change notification settings - Fork 107
Add support for Feature
specification for ComputeResources
#3020
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Changes from all commits
74c7a21
82a43e2
ff9f15c
e5a10ca
8874d48
0c08981
5182284
52ffd15
670438d
955c4aa
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -24,6 +24,8 @@ def __init__(self, queue_name: str, compute_resource_config: Dict, no_gpu, memor | |
self.name = compute_resource_config["Name"] | ||
self.disable_multithreading = compute_resource_config["DisableSimultaneousMultithreading"] | ||
self.custom_settings = compute_resource_config.get("CustomSlurmSettings", {}) | ||
# If Features are in CustomSlurmSettings, fetch them and remove from CustomSlurmSettings | ||
self.custom_features = self.custom_settings.pop("Feature", "") | ||
self.spot_price = compute_resource_config.get("SpotPrice", None) | ||
self.instance_types = get_instance_types(compute_resource_config) | ||
self.real_memory = get_real_memory( | ||
|
@@ -85,24 +87,38 @@ def _definitions(self, dynamic=False): | |
return definitions | ||
|
||
def _features(self, dynamic=False): | ||
features = set(self.custom_features.split(',')) | ||
# this is a simple workaround for empty Features: split will give [''] and we'll discard it | ||
# as well as all empty strings. | ||
features.discard('') | ||
Comment on lines
+91
to
+93
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. default to None when reading the Feature string and skip the splitting so that you don't need to discard ''? |
||
|
||
# remove "system" features from configured features, so that they will never interfere | ||
for feat in ('static', 'dynamic', 'gpu', 'efa') : | ||
features.discard(feat) | ||
Comment on lines
+95
to
+97
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. you could consider leaving these unaltered - if for any reason the user passes them in we could just honor them as overrides |
||
|
||
resource_type = "static" | ||
if dynamic: | ||
resource_type = "dynamic" | ||
features.add(resource_type) | ||
|
||
# If there's only 1 instance type defined, add it as a feature. | ||
# Note: When multiple instance types are defined we do not know in advance which one will be used | ||
# to launch the node. So we do not list any of them as feature | ||
if len(self.instance_types) == 1: | ||
features.add(self.instance_types[0]) | ||
|
||
instance_type = f",{self.instance_types[0]}" | ||
if len(self.instance_types) > 1: | ||
# When multiple instance types are defined we do not know in advance which one will be used | ||
# to launch the node. So we do not list any of them as feature | ||
instance_type = "" | ||
# add ComputeResource name as a feature | ||
features.add(self.name) | ||
|
||
features = f"Feature={resource_type}{instance_type},{self.name}" | ||
if self.efa_enabled: | ||
features += ",efa" | ||
features.add('efa') | ||
|
||
if self.gpu_count > 0: | ||
features += ",gpu" | ||
|
||
return features | ||
features.add('gpu') | ||
|
||
# Note: sorted() is called to ease tests development only: we can then predict features ordering | ||
features_string = ','.join(sorted(features)) | ||
return f"Feature={features_string}" | ||
|
||
def _custom_settings(self): | ||
custom = "" | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=efa-st-efa-c5n-[1-1] CPUs=36 RealMemory=186777 State=CLOUD Feature=static,c5n.18xlarge,efa-c5n,efa Weight=1 | ||
NodeName=efa-dy-efa-c5n-[1-4] CPUs=36 RealMemory=186777 State=CLOUD Feature=dynamic,c5n.18xlarge,efa-c5n,efa Weight=1000 | ||
NodeName=efa-st-efa-c5n-[1-1] CPUs=36 RealMemory=186777 State=CLOUD Feature=c5n.18xlarge,efa,efa-c5n,static Weight=1 | ||
NodeName=efa-dy-efa-c5n-[1-4] CPUs=36 RealMemory=186777 State=CLOUD Feature=c5n.18xlarge,dynamic,efa,efa-c5n Weight=1000 | ||
|
||
NodeSet=efa_nodes Nodes=efa-st-efa-c5n-[1-1],efa-dy-efa-c5n-[1-4] | ||
PartitionName=efa Nodes=efa_nodes MaxTime=INFINITE State=UP |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=efa-st-efa-c5n-[1-1] CPUs=36 RealMemory=176947 State=CLOUD Feature=static,c5n.18xlarge,efa-c5n,efa Weight=1 | ||
NodeName=efa-dy-efa-c5n-[1-4] CPUs=36 RealMemory=176947 State=CLOUD Feature=dynamic,c5n.18xlarge,efa-c5n,efa Weight=1000 | ||
NodeName=efa-st-efa-c5n-[1-1] CPUs=36 RealMemory=176947 State=CLOUD Feature=c5n.18xlarge,efa,efa-c5n,static Weight=1 | ||
NodeName=efa-dy-efa-c5n-[1-4] CPUs=36 RealMemory=176947 State=CLOUD Feature=c5n.18xlarge,dynamic,efa,efa-c5n Weight=1000 | ||
|
||
NodeSet=efa_nodes Nodes=efa-st-efa-c5n-[1-1],efa-dy-efa-c5n-[1-4] | ||
PartitionName=efa Nodes=efa_nodes MaxTime=INFINITE State=UP |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=gpu-st-gpu-g38xlarge-[1-1] CPUs=16 RealMemory=237363 State=CLOUD Feature=static,g3.8xlarge,gpu-g38xlarge,gpu Weight=1 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-g38xlarge-[1-4] CPUs=16 RealMemory=237363 State=CLOUD Feature=dynamic,g3.8xlarge,gpu-g38xlarge,gpu Weight=1000 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-p3dn24xlarge-[1-10] CPUs=48 RealMemory=747110 State=CLOUD Feature=dynamic,p3dn.24xlarge,gpu-p3dn24xlarge,gpu Weight=1000 Gres=gpu:v100:8 | ||
NodeName=gpu-st-gpu-g38xlarge-[1-1] CPUs=16 RealMemory=237363 State=CLOUD Feature=g3.8xlarge,gpu,gpu-g38xlarge,static Weight=1 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-g38xlarge-[1-4] CPUs=16 RealMemory=237363 State=CLOUD Feature=dynamic,g3.8xlarge,gpu,gpu-g38xlarge Weight=1000 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-p3dn24xlarge-[1-10] CPUs=48 RealMemory=747110 State=CLOUD Feature=dynamic,gpu,gpu-p3dn24xlarge,p3dn.24xlarge Weight=1000 Gres=gpu:v100:8 | ||
|
||
NodeSet=gpu_nodes Nodes=gpu-st-gpu-g38xlarge-[1-1],gpu-dy-gpu-g38xlarge-[1-4],gpu-dy-gpu-p3dn24xlarge-[1-10] | ||
PartitionName=gpu Nodes=gpu_nodes MaxTime=INFINITE State=UP |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=gpu-st-gpu-g38xlarge-[1-1] CPUs=16 RealMemory=248000 State=CLOUD Feature=static,g3.8xlarge,gpu-g38xlarge,gpu Weight=1 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-g38xlarge-[1-4] CPUs=16 RealMemory=248000 State=CLOUD Feature=dynamic,g3.8xlarge,gpu-g38xlarge,gpu Weight=1000 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-p3dn24xlarge-[1-10] CPUs=48 RealMemory=707788 State=CLOUD Feature=dynamic,p3dn.24xlarge,gpu-p3dn24xlarge,gpu Weight=1000 Gres=gpu:v100:8 | ||
NodeName=gpu-st-gpu-g38xlarge-[1-1] CPUs=16 RealMemory=248000 State=CLOUD Feature=g3.8xlarge,gpu,gpu-g38xlarge,static Weight=1 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-g38xlarge-[1-4] CPUs=16 RealMemory=248000 State=CLOUD Feature=dynamic,g3.8xlarge,gpu,gpu-g38xlarge Weight=1000 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-p3dn24xlarge-[1-10] CPUs=48 RealMemory=707788 State=CLOUD Feature=dynamic,gpu,gpu-p3dn24xlarge,p3dn.24xlarge Weight=1000 Gres=gpu:v100:8 | ||
|
||
NodeSet=gpu_nodes Nodes=gpu-st-gpu-g38xlarge-[1-1],gpu-dy-gpu-g38xlarge-[1-4],gpu-dy-gpu-p3dn24xlarge-[1-10] | ||
PartitionName=gpu Nodes=gpu_nodes MaxTime=INFINITE State=UP |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=multiple_spot-st-multiplespot-1-[1-5] CPUs=2 RealMemory=7296 State=CLOUD Feature=static,c4.xlarge,multiplespot-1 Weight=1 | ||
NodeName=multiple_spot-dy-multiplespot-1-[1-5] CPUs=2 RealMemory=7296 State=CLOUD Feature=dynamic,c4.xlarge,multiplespot-1 Weight=1000 | ||
NodeName=multiple_spot-st-multiplespot-2-[1-5] CPUs=4 RealMemory=15564 State=CLOUD Feature=static,c5.2xlarge,multiplespot-2 Weight=1 | ||
NodeName=multiple_spot-st-multiplespot-1-[1-5] CPUs=2 RealMemory=7296 State=CLOUD Feature=c4.xlarge,multiplespot-1,static Weight=1 | ||
NodeName=multiple_spot-dy-multiplespot-1-[1-5] CPUs=2 RealMemory=7296 State=CLOUD Feature=c4.xlarge,dynamic,multiplespot-1 Weight=1000 | ||
NodeName=multiple_spot-st-multiplespot-2-[1-5] CPUs=4 RealMemory=15564 State=CLOUD Feature=c5.2xlarge,multiplespot-2,static Weight=1 | ||
|
||
NodeSet=multiple_spot_nodes Nodes=multiple_spot-st-multiplespot-1-[1-5],multiple_spot-dy-multiplespot-1-[1-5],multiple_spot-st-multiplespot-2-[1-5] | ||
PartitionName=multiple_spot Nodes=multiple_spot_nodes MaxTime=INFINITE State=UP Default=YES |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=multiple_spot-st-multiplespot-1-[1-5] CPUs=2 RealMemory=6912 State=CLOUD Feature=static,c4.xlarge,multiplespot-1 Weight=1 | ||
NodeName=multiple_spot-dy-multiplespot-1-[1-5] CPUs=2 RealMemory=6912 State=CLOUD Feature=dynamic,c4.xlarge,multiplespot-1 Weight=1000 | ||
NodeName=multiple_spot-st-multiplespot-2-[1-5] CPUs=4 RealMemory=13000 State=CLOUD Feature=static,c5.2xlarge,multiplespot-2 Weight=1 | ||
NodeName=multiple_spot-st-multiplespot-1-[1-5] CPUs=2 RealMemory=6912 State=CLOUD Feature=c4.xlarge,multiplespot-1,static Weight=1 | ||
NodeName=multiple_spot-dy-multiplespot-1-[1-5] CPUs=2 RealMemory=6912 State=CLOUD Feature=c4.xlarge,dynamic,multiplespot-1 Weight=1000 | ||
NodeName=multiple_spot-st-multiplespot-2-[1-5] CPUs=4 RealMemory=13000 State=CLOUD Feature=c5.2xlarge,multiplespot-2,static Weight=1 | ||
|
||
NodeSet=multiple_spot_nodes Nodes=multiple_spot-st-multiplespot-1-[1-5],multiple_spot-dy-multiplespot-1-[1-5],multiple_spot-st-multiplespot-2-[1-5] | ||
PartitionName=multiple_spot Nodes=multiple_spot_nodes MaxTime=INFINITE State=UP Default=YES |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=efa-st-efa-c5n-[1-1] CPUs=36 RealMemory=186777 State=CLOUD Feature=static,c5n.18xlarge,efa-c5n,efa Weight=1 | ||
NodeName=efa-dy-efa-c5n-[1-4] CPUs=36 RealMemory=186777 State=CLOUD Feature=dynamic,c5n.18xlarge,efa-c5n,efa Weight=1000 | ||
NodeName=efa-st-efa-c5n-[1-1] CPUs=36 RealMemory=186777 State=CLOUD Feature=c5n.18xlarge,efa,efa-c5n,static Weight=1 | ||
NodeName=efa-dy-efa-c5n-[1-4] CPUs=36 RealMemory=186777 State=CLOUD Feature=c5n.18xlarge,dynamic,efa,efa-c5n Weight=1000 | ||
|
||
NodeSet=efa_nodes Nodes=efa-st-efa-c5n-[1-1],efa-dy-efa-c5n-[1-4] | ||
PartitionName=efa Nodes=efa_nodes MaxTime=INFINITE State=UP |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=gpu-st-gpu-g38xlarge-[1-1] CPUs=16 RealMemory=237363 State=CLOUD Feature=static,g3.8xlarge,gpu-g38xlarge,gpu Weight=1 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-g38xlarge-[1-4] CPUs=16 RealMemory=237363 State=CLOUD Feature=dynamic,g3.8xlarge,gpu-g38xlarge,gpu Weight=1000 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-p3dn24xlarge-[1-10] CPUs=48 RealMemory=747110 State=CLOUD Feature=dynamic,p3dn.24xlarge,gpu-p3dn24xlarge,gpu Weight=1000 Gres=gpu:v100:8 | ||
NodeName=gpu-st-gpu-g38xlarge-[1-1] CPUs=16 RealMemory=237363 State=CLOUD Feature=g3.8xlarge,gpu,gpu-g38xlarge,static Weight=1 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-g38xlarge-[1-4] CPUs=16 RealMemory=237363 State=CLOUD Feature=dynamic,g3.8xlarge,gpu,gpu-g38xlarge Weight=1000 Gres=gpu:m60:2 | ||
NodeName=gpu-dy-gpu-p3dn24xlarge-[1-10] CPUs=48 RealMemory=747110 State=CLOUD Feature=dynamic,gpu,gpu-p3dn24xlarge,p3dn.24xlarge Weight=1000 Gres=gpu:v100:8 | ||
|
||
NodeSet=gpu_nodes Nodes=gpu-st-gpu-g38xlarge-[1-1],gpu-dy-gpu-g38xlarge-[1-4],gpu-dy-gpu-p3dn24xlarge-[1-10] | ||
PartitionName=gpu Nodes=gpu_nodes MaxTime=INFINITE State=UP |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=gpu-st-gpu-g38xlarge-[1-1] CPUs=16 RealMemory=237363 State=CLOUD Feature=static,g3.8xlarge,gpu-g38xlarge,gpu Weight=1 | ||
NodeName=gpu-dy-gpu-g38xlarge-[1-4] CPUs=16 RealMemory=237363 State=CLOUD Feature=dynamic,g3.8xlarge,gpu-g38xlarge,gpu Weight=1000 | ||
NodeName=gpu-dy-gpu-p3dn24xlarge-[1-10] CPUs=48 RealMemory=747110 State=CLOUD Feature=dynamic,p3dn.24xlarge,gpu-p3dn24xlarge,gpu Weight=1000 | ||
NodeName=gpu-st-gpu-g38xlarge-[1-1] CPUs=16 RealMemory=237363 State=CLOUD Feature=g3.8xlarge,gpu,gpu-g38xlarge,static Weight=1 | ||
NodeName=gpu-dy-gpu-g38xlarge-[1-4] CPUs=16 RealMemory=237363 State=CLOUD Feature=dynamic,g3.8xlarge,gpu,gpu-g38xlarge Weight=1000 | ||
NodeName=gpu-dy-gpu-p3dn24xlarge-[1-10] CPUs=48 RealMemory=747110 State=CLOUD Feature=dynamic,gpu,gpu-p3dn24xlarge,p3dn.24xlarge Weight=1000 | ||
|
||
NodeSet=gpu_nodes Nodes=gpu-st-gpu-g38xlarge-[1-1],gpu-dy-gpu-g38xlarge-[1-4],gpu-dy-gpu-p3dn24xlarge-[1-10] | ||
PartitionName=gpu Nodes=gpu_nodes MaxTime=INFINITE State=UP |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=multiple_spot-st-multiplespot-1-[1-5] CPUs=2 RealMemory=7296 State=CLOUD Feature=static,c4.xlarge,multiplespot-1 Weight=1 | ||
NodeName=multiple_spot-dy-multiplespot-1-[1-5] CPUs=2 RealMemory=7296 State=CLOUD Feature=dynamic,c4.xlarge,multiplespot-1 Weight=1000 | ||
NodeName=multiple_spot-st-multiplespot-2-[1-5] CPUs=4 RealMemory=15564 State=CLOUD Feature=static,c5.2xlarge,multiplespot-2 Weight=1 | ||
NodeName=multiple_spot-st-multiplespot-1-[1-5] CPUs=2 RealMemory=7296 State=CLOUD Feature=c4.xlarge,multiplespot-1,static Weight=1 | ||
NodeName=multiple_spot-dy-multiplespot-1-[1-5] CPUs=2 RealMemory=7296 State=CLOUD Feature=c4.xlarge,dynamic,multiplespot-1 Weight=1000 | ||
NodeName=multiple_spot-st-multiplespot-2-[1-5] CPUs=4 RealMemory=15564 State=CLOUD Feature=c5.2xlarge,multiplespot-2,static Weight=1 | ||
|
||
NodeSet=multiple_spot_nodes Nodes=multiple_spot-st-multiplespot-1-[1-5],multiple_spot-dy-multiplespot-1-[1-5],multiple_spot-st-multiplespot-2-[1-5] | ||
PartitionName=multiple_spot Nodes=multiple_spot_nodes MaxTime=INFINITE State=UP Default=YES |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=efa-st-efa-c5n-[1-1] CPUs=36 RealMemory=186777 State=CLOUD Feature=c5n.18xlarge,efa,efa-c5n,static Weight=1 CustomEfaComputeParam=unique_efa_compute_value OtherEfaComputeParam=second_efa_compute_value | ||
NodeName=efa-dy-efa-c5n-[1-4] CPUs=36 RealMemory=186777 State=CLOUD Feature=c5n.18xlarge,dynamic,efa,efa-c5n Weight=1000 CustomEfaComputeParam=unique_efa_compute_value OtherEfaComputeParam=second_efa_compute_value | ||
|
||
NodeSet=efa_nodes Nodes=efa-st-efa-c5n-[1-1],efa-dy-efa-c5n-[1-4] | ||
PartitionName=efa Nodes=efa_nodes MaxTime=INFINITE State=UP CustomEfaParam=unique_efa_value OtherEfaParam=second_efa_value |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=gpu-st-gpu-g38xlarge-[1-1] CPUs=32 RealMemory=237363 State=CLOUD Feature=g3.8xlarge,gpu,gpu-g38xlarge,myfeat-gpu,static Weight=1 Gres=gpu:m60:2 CustomNvidiaParam=nvidia_setting CustomAmdParam=amd_setting CustomIntelParam=intel_setting | ||
NodeName=gpu-dy-gpu-g38xlarge-[1-4] CPUs=32 RealMemory=237363 State=CLOUD Feature=dynamic,g3.8xlarge,gpu,gpu-g38xlarge,myfeat-gpu Weight=1000 Gres=gpu:m60:2 CustomNvidiaParam=nvidia_setting CustomAmdParam=amd_setting CustomIntelParam=intel_setting | ||
NodeName=gpu-dy-gpu-p3dn24xlarge-[1-10] CPUs=96 RealMemory=747110 State=CLOUD Feature=dynamic,gpu,gpu-p3dn24xlarge,p3dn.24xlarge Weight=1000 Gres=gpu:v100:8 | ||
|
||
NodeSet=gpu_nodes Nodes=gpu-st-gpu-g38xlarge-[1-1],gpu-dy-gpu-g38xlarge-[1-4],gpu-dy-gpu-p3dn24xlarge-[1-10] | ||
PartitionName=gpu Nodes=gpu_nodes MaxTime=INFINITE State=UP CustomParam=unique_value OtherParam=second_value TreeAsThird=3 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# This file is automatically generated by pcluster | ||
|
||
NodeName=multiple_spot-st-multiplespot-1-[1-5] CPUs=4 RealMemory=7296 State=CLOUD Feature=c4.xlarge,multiplespot-1,myfeat1,qwerty2,static Weight=1 CustomComputeParam=unique_compute_value OtherComputeParam=second_compute_value | ||
NodeName=multiple_spot-dy-multiplespot-1-[1-5] CPUs=4 RealMemory=7296 State=CLOUD Feature=c4.xlarge,dynamic,multiplespot-1,myfeat1,qwerty2 Weight=1000 CustomComputeParam=unique_compute_value OtherComputeParam=second_compute_value | ||
NodeName=multiple_spot-st-multiplespot-2-[1-5] CPUs=4 RealMemory=15564 State=CLOUD Feature=c5.2xlarge,multiplespot-2,static Weight=1 | ||
|
||
NodeSet=multiple_spot_nodes Nodes=multiple_spot-st-multiplespot-1-[1-5],multiple_spot-dy-multiplespot-1-[1-5],multiple_spot-st-multiplespot-2-[1-5] | ||
PartitionName=multiple_spot Nodes=multiple_spot_nodes MaxTime=INFINITE State=UP Default=YES CustomQueueParam=unique_queue_value OtherQueueParam=second_queue_value |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
Scheduling: | ||
SlurmQueues: | ||
- Name: multiple_spot | ||
CustomSlurmSettings: | ||
CustomQueueParam: unique_queue_value | ||
OtherQueueParam: second_queue_value | ||
CapacityType: SPOT | ||
ComputeResources: | ||
- Name: multiplespot-1 | ||
DisableSimultaneousMultithreading: false | ||
Efa: | ||
Enabled: false | ||
GdrSupport: false | ||
CustomSlurmSettings: | ||
CustomComputeParam: unique_compute_value | ||
OtherComputeParam: second_compute_value | ||
Feature: myfeat1,qwerty2,gpu | ||
InstanceType: c4.xlarge | ||
MaxCount: 10 | ||
MinCount: 5 | ||
StaticNodePriority: 1 | ||
DynamicNodePriority: 1000 | ||
- DisableSimultaneousMultithreading: true | ||
Efa: | ||
Enabled: false | ||
GdrSupport: false | ||
InstanceType: c5.2xlarge | ||
MaxCount: 5 | ||
MinCount: 5 | ||
Name: multiplespot-2 | ||
StaticNodePriority: 1 | ||
DynamicNodePriority: 1000 | ||
- Name: efa | ||
CapacityType: ONDEMAND | ||
CustomSlurmSettings: | ||
CustomEfaParam: unique_efa_value | ||
OtherEfaParam: second_efa_value | ||
ComputeResources: | ||
- Name: efa-c5n | ||
CustomSlurmSettings: | ||
CustomEfaComputeParam: unique_efa_compute_value | ||
OtherEfaComputeParam: second_efa_compute_value | ||
DisableSimultaneousMultithreading: true | ||
Efa: | ||
Enabled: true | ||
GdrSupport: false | ||
InstanceType: c5n.18xlarge | ||
MaxCount: 5 | ||
MinCount: 1 | ||
StaticNodePriority: 1 | ||
DynamicNodePriority: 1000 | ||
ComputeSettings: null | ||
CustomActions: null | ||
- Name: gpu | ||
CapacityType: ONDEMAND | ||
CustomSlurmSettings: | ||
CustomParam: unique_value | ||
OtherParam: second_value | ||
TreeAsThird: 3 | ||
ComputeResources: | ||
- Name: gpu-g38xlarge | ||
DisableSimultaneousMultithreading: false | ||
Efa: | ||
Enabled: false | ||
GdrSupport: false | ||
CustomSlurmSettings: | ||
CustomNvidiaParam: nvidia_setting | ||
CustomAmdParam: amd_setting | ||
CustomIntelParam: intel_setting | ||
Feature: myfeat-gpu | ||
InstanceType: g3.8xlarge | ||
MaxCount: 5 | ||
MinCount: 1 | ||
StaticNodePriority: 1 | ||
DynamicNodePriority: 1000 | ||
- Name: gpu-p3dn24xlarge | ||
DisableSimultaneousMultithreading: false | ||
Efa: | ||
Enabled: false | ||
GdrSupport: false | ||
InstanceType: p3dn.24xlarge | ||
MaxCount: 10 | ||
MinCount: 0 | ||
StaticNodePriority: 1 | ||
DynamicNodePriority: 1000 | ||
ComputeSettings: null | ||
CustomActions: null | ||
Scheduler: slurm | ||
SlurmSettings: | ||
ScaledownIdletime: 10 | ||
EnableMemoryBasedScheduling: false | ||
Database: null | ||
ExternalSlurmdbd: null |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of mutating the custom_settings object by removing features I would keep custom_settings aligned with what is injected from config and filter out features when building the
custom += f" {param}={value}"
string as part of the nodename rendering.