Enum AcceleratorManufacturer
Supported hardware accelerator manufacturers.
Namespace: Amazon.CDK.AWS.EC2
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public enum AcceleratorManufacturer
Syntax (vb)
Public Enum AcceleratorManufacturer
Remarks
Restricts instance selection to accelerators from a particular vendor. Useful for choosing specific ecosystems (e.g., NVIDIA CUDA, AWS chips).
ExampleMetadata: infused
Examples
Vpc vpc;
Role infrastructureRole;
InstanceProfile instanceProfile;
var cluster = new Cluster(this, "Cluster", new ClusterProps { Vpc = vpc });
// Create a Managed Instances Capacity Provider
var miCapacityProvider = new ManagedInstancesCapacityProvider(this, "MICapacityProvider", new ManagedInstancesCapacityProviderProps {
InfrastructureRole = infrastructureRole,
Ec2InstanceProfile = instanceProfile,
Subnets = vpc.PrivateSubnets,
SecurityGroups = new [] { new SecurityGroup(this, "MISecurityGroup", new SecurityGroupProps { Vpc = vpc }) },
InstanceRequirements = new InstanceRequirementsConfig {
VCpuCountMin = 1,
MemoryMin = Size.Gibibytes(2),
CpuManufacturers = new [] { CpuManufacturer.INTEL },
AcceleratorManufacturers = new [] { AcceleratorManufacturer.NVIDIA }
},
PropagateTags = PropagateManagedInstancesTags.CAPACITY_PROVIDER
});
// Optionally configure security group rules using IConnectable interface
miCapacityProvider.Connections.AllowFrom(Peer.Ipv4(vpc.VpcCidrBlock), Port.Tcp(80));
// Add the capacity provider to the cluster
cluster.AddManagedInstancesCapacityProvider(miCapacityProvider);
var taskDefinition = new TaskDefinition(this, "TaskDef", new TaskDefinitionProps {
MemoryMiB = "512",
Cpu = "256",
NetworkMode = NetworkMode.AWS_VPC,
Compatibility = Compatibility.MANAGED_INSTANCES
});
taskDefinition.AddContainer("web", new ContainerDefinitionOptions {
Image = ContainerImage.FromRegistry("amazon/amazon-ecs-sample"),
MemoryReservationMiB = 256
});
new FargateService(this, "FargateService", new FargateServiceProps {
Cluster = cluster,
TaskDefinition = taskDefinition,
MinHealthyPercent = 100,
CapacityProviderStrategies = new [] { new CapacityProviderStrategy {
CapacityProvider = miCapacityProvider.CapacityProviderName,
Weight = 1
} }
});
Synopsis
Fields
| AMD | AMD (e.g., Radeon Pro V520 GPU). |
| AWS | Amazon Web Services (e.g., Inferentia, Trainium accelerators). |
| HABANA | Habana Labs(e.g, Gaudi accelerator). |
| NVIDIA | NVIDIA (e.g., A100, V100, T4, K80, M60 GPUs). |
| XILINX | Xilinx (e.g., VU9P FPGA). |
Fields
| Name | Description |
|---|---|
| AMD | AMD (e.g., Radeon Pro V520 GPU). |
| AWS | Amazon Web Services (e.g., Inferentia, Trainium accelerators). |
| HABANA | Habana Labs(e.g, Gaudi accelerator). |
| NVIDIA | NVIDIA (e.g., A100, V100, T4, K80, M60 GPUs). |
| XILINX | Xilinx (e.g., VU9P FPGA). |