launcher/efa.py (156 lines of code) (raw):

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of # the License is located at # # http://aws.amazon.com/apache2.0/ # # or in the "license" file accompanying this file. This file is # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. efa_supported_instance = set( [ "c5n.18xlarge", "c5n.9xlarge", "c5n.metal", "c6a.48xlarge", "c6a.metal", "c6gn.16xlarge", "c6i.32xlarge", "c6i.metal", "c6id.32xlarge", "c6id.metal", "c6in.32xlarge", "c6in.metal", "c7a.48xlarge", "c7a.metal-48xl", "c7g.16xlarge", "c7g.metal", "c7gd.16xlarge", "c7gd.metal", "c7gn.16xlarge", "c7gn.metal", "c7i.48xlarge", "c7i.metal-48xl", "dl1.24xlarge", "dl2q.24xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g4dn.8xlarge", "g4dn.metal", "g5.12xlarge", "g5.16xlarge", "g5.24xlarge", "g5.48xlarge", "g5.8xlarge", "g6.12xlarge", "g6.16xlarge", "g6.24xlarge", "g6.48xlarge", "g6.8xlarge", "g6e.8xlarge", "g6e.16xlarge", "g6e.12xlarge", "g6e.24xlarge", "g6e.48xlarge", "gr6.8xlarge", "i3en.12xlarge", "i3en.24xlarge", "i3en.metal", "i4g.16xlarge", "i4i.32xlarge", "i4i.metal", "im4gn.16xlarge", "inf1.24xlarge", "m5dn.24xlarge", "m5dn.metal", "m5n.24xlarge", "m5n.metal", "m5zn.12xlarge", "m5zn.metal", "m6a.48xlarge", "m6a.metal", "m6i.32xlarge", "m6i.metal", "m6id.32xlarge", "m6id.metal", "m6idn.32xlarge", "m6idn.metal", "m6in.32xlarge", "m6in.metal", "m7a.48xlarge", "m7a.metal-48xl", "m7g.16xlarge", "m7g.metal", "m7gd.16xlarge", "m7gd.metal", "m7i.48xlarge", "m7i.metal-48xl", "p3dn.24xlarge", "p4d.24xlarge", "p4de.24xlarge", "p5.48xlarge", "p5e.48xlarge", "p5en.48xlarge", "r5dn.24xlarge", "r5dn.metal", "r5n.24xlarge", "r5n.metal", "r6a.48xlarge", "r6a.metal", "r6i.32xlarge", "r6i.metal", "r6id.32xlarge", "r6id.metal", "r6idn.32xlarge", "r6idn.metal", "r6in.32xlarge", "r6in.metal", "r7a.48xlarge", "r7a.metal-48xl", "r7g.16xlarge", "r7g.metal", "r7gd.16xlarge", "r7gd.metal", "r7i.48xlarge", "r7i.metal-48xl", "r7iz.32xlarge", "r7iz.metal-32xl", "r8g.24xlarge", "r8g.48xlarge", "r8g.metal-24xl", "r8g.metal-48xl", "trn1.32xlarge", "trn1n.32xlarge", "trn2.48xlarge", "u7i-12tb.224xlarge", "u7in-16tb.224xlarge", "u7in-24tb.224xlarge", "u7in-32tb.224xlarge", "vt1.24xlarge", "x2idn.32xlarge", "x2idn.metal", "x2iedn.32xlarge", "x2iedn.metal", "x2iezn.12xlarge", "x2iezn.metal", ] ) instanceWithMultipleEFAs = { "p4d.24xlarge": 4, "p4de.24xlarge": 4, "p5.4xlarge": 4, "p5.24xlarge": 16, "p5.48xlarge": 32, "p5e.48xlarge": 32, "p5en.48xlarge": 16, "trn1.32xlarge": 8, "trn1n.32xlarge": 16, "trn2.48xlarge": 16, "g6e.24xlarge": 2, "g6e.48xlarge": 4, } instanceWithRDMASupport = set( [ "p4d.24xlarge", "p4de.24xlarge", "p5.4xlarge", "p5.24xlarge", "p5.48xlarge", "p5e.48xlarge", "p5en.48xlarge", "trn1.32xlarge", "trn1n.32xlarge", "trn2.48xlarge", ] )