Show / Hide Table of Contents

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).

Back to top Generated by DocFX