Skip to content

Commit 80ebeaa

Browse files
committed
Add runner input to NVIDIA workflow for Helion/Nebius B200 support
- Add configurable runner input to nvidia_workflow.yml (defaults to existing nvidia-docker-b200-8-x86-64 for backward compat) - Add B200_Nebius GPU type mapped to nebius-b200-helion-runners - Pass runner input for all GPU vendors (not just AMD) - Bump NVIDIA workflow timeout to 20 min for Helion JIT compilation
1 parent cdd4c93 commit 80ebeaa

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

.github/workflows/nvidia_workflow.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ on:
1010
description: 'Content of the user submission, as json string'
1111
required: true
1212
type: string
13+
runner:
14+
description: 'NVIDIA runner to run workflow on'
15+
required: true
16+
default: "nvidia-docker-b200-8-x86-64"
17+
type: string
1318
requirements:
1419
description: 'Contents for a requirements.txt file'
1520
required: false
@@ -19,8 +24,8 @@ run-name: 'NVIDIA Job - ${{ github.event.inputs.run_id }}'
1924

2025
jobs:
2126
run:
22-
runs-on: [nvidia-docker-b200-8-x86-64]
23-
timeout-minutes: 10
27+
runs-on: ${{ github.event.inputs.runner }}
28+
timeout-minutes: 20
2429
steps:
2530
- uses: actions/checkout@v3
2631

src/libkernelbot/consts.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class SchedulerType(Enum):
1818

1919
class GitHubGPU(Enum):
2020
NVIDIA = "NVIDIA"
21+
B200_Nebius = "B200_Nebius"
2122
MI300 = "MI300"
2223
MI250 = "MI250"
2324
MI300x8 = "MI300x8"
@@ -119,6 +120,7 @@ class RankCriterion(Enum):
119120
"H100": "90a",
120121
"B200": "100",
121122
"NVIDIA": None,
123+
"B200_Nebius": "100",
122124
"MI300": None,
123125
"MI300x8": None,
124126
"MI250": None,

src/libkernelbot/launchers/github.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ async def run_submission( # noqa: C901
9494
self, config: dict, gpu_type: GPU, status: RunProgressReporter
9595
) -> FullResult:
9696
gpu_vendor = None
97+
runner_name = None
9798
if gpu_type.value in ["MI300", "MI250", "MI300x8", "MI355X"]:
9899
selected_workflow = "amd_workflow.yml"
99100
runner_name = {
@@ -104,8 +105,12 @@ async def run_submission( # noqa: C901
104105
}[gpu_type.value]
105106
gpu_vendor = "AMD"
106107
requirements = AMD_REQUIREMENTS
107-
elif gpu_type.value == "NVIDIA":
108+
elif gpu_type.value in ["NVIDIA", "B200_Nebius"]:
108109
selected_workflow = "nvidia_workflow.yml"
110+
runner_name = {
111+
"NVIDIA": "nvidia-docker-b200-8-x86-64",
112+
"B200_Nebius": "nebius-b200-helion-runners",
113+
}[gpu_type.value]
109114
gpu_vendor = "NVIDIA"
110115
requirements = NVIDIA_REQUIREMENTS
111116
else:
@@ -129,7 +134,7 @@ async def run_submission( # noqa: C901
129134
inputs = {"payload": payload}
130135
if lang == "py":
131136
inputs["requirements"] = requirements
132-
if gpu_vendor == "AMD":
137+
if runner_name:
133138
inputs["runner"] = runner_name
134139

135140
if not await run.trigger(inputs):

0 commit comments

Comments
 (0)