|
16 | 16 | 1: [ |
17 | 17 | "linux.aws.a100", |
18 | 18 | "linux.aws.h100", |
19 | | - "linux.rocm.gpu.gfx942.2", # No single ROCm GPU? |
| 19 | + "linux.rocm.gpu.gfx942.1", |
20 | 20 | "linux.24xl.spr-metal", |
21 | 21 | "linux.dgx.b200", |
22 | 22 | ], |
|
29 | 29 | 4: [ |
30 | 30 | "linux.aws.h100.4", |
31 | 31 | "linux.rocm.gpu.gfx942.4", |
32 | | - # TODO (huydhn): Enable this when Intel's runners are ready |
33 | | - # "intel-cpu-emr", |
34 | 32 | ], |
35 | 33 | 8: [ |
36 | 34 | "linux.aws.h100.8", |
|
62 | 60 | ] |
63 | 61 | ) |
64 | 62 |
|
| 63 | +# Model and runner skip logic, for example, just need to run DeepSeek on b200 |
| 64 | +# and not h100. This also serves as a knob to tune CI behavior. TODO (huydhn): |
| 65 | +# Figure out how to set this in the JSON benchmark configuration instead |
| 66 | +PLATFORM_SKIPS = { |
| 67 | + # Already been covered in both A100 and H100 |
| 68 | + "meta-llama/Meta-Llama-3.1-8B-Instruct": [ |
| 69 | + "linux.dgx.b200", |
| 70 | + ], |
| 71 | + "meta-llama/Meta-Llama-3.1-70B-Instruct": [ |
| 72 | + "linux.dgx.b200", |
| 73 | + ], |
| 74 | + "mistralai/Mixtral-8x7B-Instruct-v0.1": [ |
| 75 | + "linux.dgx.b200", |
| 76 | + ], |
| 77 | + "Qwen/Qwen3-8B": [ |
| 78 | + "linux.dgx.b200", |
| 79 | + ], |
| 80 | + "google/gemma-3-4b-it": [ |
| 81 | + "linux.dgx.b200", |
| 82 | + ], |
| 83 | + # Run some bigger models on B200 to share the load |
| 84 | + "Qwen/Qwen3-30B-A3B": [ |
| 85 | + "linux.aws.a100", |
| 86 | + "linux.aws.h100", |
| 87 | + ], |
| 88 | + "google/gemma-3-27b-it": [ |
| 89 | + "linux.aws.a100", |
| 90 | + "linux.aws.h100", |
| 91 | + "linux.rocm.gpu.gfx942", # TODO (huydhn): Fail on ROCm |
| 92 | + ], |
| 93 | + "meta-llama/Llama-4-Scout-17B-16E-Instruct": [ |
| 94 | + "linux.aws.a100", |
| 95 | + "linux.aws.h100", |
| 96 | + ], |
| 97 | + "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8": [ |
| 98 | + "linux.aws.a100", |
| 99 | + "linux.aws.h100", |
| 100 | + "linux.rocm.gpu.gfx942", # TODO (huydhn): Hang on ROCm |
| 101 | + ], |
| 102 | + # Run gpt-oss on both H100 and B200 |
| 103 | + "openai/gpt-oss-20b": [ |
| 104 | + "linux.aws.a100", |
| 105 | + ], |
| 106 | + "openai/gpt-oss-120b": [ |
| 107 | + "linux.aws.a100", |
| 108 | + ], |
| 109 | + # Deepseek can only run on B200 |
| 110 | + "deepseek-ai/DeepSeek-V3.1": [ |
| 111 | + "linux.aws.a100", |
| 112 | + "linux.aws.h100", |
| 113 | + ], |
| 114 | + "deepseek-ai/DeepSeek-R1": [ |
| 115 | + "linux.aws.a100", |
| 116 | + "linux.aws.h100", |
| 117 | + ], |
| 118 | +} |
| 119 | +# Lower case all the model names for consistency |
| 120 | +PLATFORM_SKIPS = {k.lower(): v for k, v in PLATFORM_SKIPS.items()} |
| 121 | + |
65 | 122 |
|
66 | 123 | class ValidateDir(Action): |
67 | 124 | def __call__( |
@@ -198,6 +255,12 @@ def generate_benchmark_matrix( |
198 | 255 | if not found_runner and not use_all_runners: |
199 | 256 | continue |
200 | 257 |
|
| 258 | + # Check the skip logic |
| 259 | + if model in PLATFORM_SKIPS and any( |
| 260 | + [r in runner for r in PLATFORM_SKIPS[model]] |
| 261 | + ): |
| 262 | + continue |
| 263 | + |
201 | 264 | benchmark_matrix["include"].append( |
202 | 265 | { |
203 | 266 | "runner": runner, |
|
0 commit comments