Skip to content

Commit fb6d3b3

Browse files
committed
test
1 parent eba544b commit fb6d3b3

1 file changed

Lines changed: 80 additions & 64 deletions

File tree

.github/workflows/run-sweep.yml

Lines changed: 80 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ jobs:
1313
get-jobs:
1414
runs-on: ubuntu-latest
1515
outputs:
16-
multi-node-search-space-config: ${{ steps.get-jobs.outputs.multi-node-search-space-config }}
17-
single-node-search-space-config: ${{ steps.get-jobs.outputs.single-node-search-space-config }}
16+
search-space-config: ${{ steps.get-jobs.outputs.search-space-config }}
1817
steps:
1918
- name: Checkout code
2019
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
@@ -29,70 +28,79 @@ jobs:
2928
--base-ref origin/main \
3029
--head-ref ${{ github.sha }})
3130
31+
echo "search-space-config=$CONFIG_JSON" >> $GITHUB_OUTPUT
3232
33-
echo "multi-node-search-space-config=$CONFIG_JSON" >> $GITHUB_OUTPUT
34-
echo "single-node-search-space-config=$CONFIG_JSON" >> $GITHUB_OUTPUT
35-
36-
37-
# # Use existence (or non-existence) of 'prefill' field as a proxy to determined multi-node tests
38-
# CONFIG_JSON_MULTI_NODE=$(echo "$CONFIG_JSON" | jq -c '[.[] | select(.prefill != null)]')
39-
# CONFIG_JSON_SINGLE_NODE=$(echo "$CONFIG_JSON" | jq -c '[.[] | select(.prefill == null)]')
40-
41-
# CONFIG_JSON_MULTI_NODE_1K1K=$(echo "$CONFIG_JSON_MULTI_NODE" | jq -c '[.[] | select(.isl == 1024 and .osl == 1024)]')
42-
# CONFIG_JSON_MULTI_NODE_1K8K=$(echo "$CONFIG_JSON_MULTI_NODE" | jq -c '[.[] | select(.isl == 1024 and .osl == 8192)]')
43-
# CONFIG_JSON_MULTI_NODE_8K1K=$(echo "$CONFIG_JSON_MULTI_NODE" | jq -c '[.[] | select(.isl == 8192 and .osl == 1024)]')
44-
45-
# CONFIG_JSON_SINGLE_NODE_1K1K=$(echo "$CONFIG_JSON_SINGLE_NODE" | jq -c '[.[] | select(.isl == 1024 and .osl == 1024)]')
46-
# CONFIG_JSON_SINGLE_NODE_1K8K=$(echo "$CONFIG_JSON_SINGLE_NODE" | jq -c '[.[] | select(.isl == 1024 and .osl == 8192)]')
47-
# CONFIG_JSON_SINGLE_NODE_8K1K=$(echo "$CONFIG_JSON_SINGLE_NODE" | jq -c '[.[] | select(.isl == 8192 and .osl == 1024)]')
48-
49-
# test-sweep-multi-node:
50-
# needs: get-jobs
51-
# if: ${{ needs.get-jobs.outputs.multi-node-search-space-config != '[]' }}
52-
# uses: ./.github/workflows/benchmark-multinode-tmpl.yml
53-
# name: multi-node /
54-
# strategy:
55-
# fail-fast: false
56-
# matrix:
57-
# config: ${{ fromJson(needs.get-jobs.outputs.multi-node-search-space-config).single_node['1k1k'] }}
58-
# secrets: inherit
59-
# with:
60-
# isl: ${{ matrix.config.isl }}
61-
# osl: ${{ matrix.config.osl }}
62-
# max-model-len: ${{ matrix.config.max-model-len }}
63-
# runner: ${{ matrix.config.runner }}
64-
# image: ${{ matrix.config.image }}
65-
# model: ${{ matrix.config.model }}
66-
# model-prefix: ${{ matrix.config.model-prefix }}
67-
# framework: ${{ matrix.config.framework }}
68-
# precision: ${{ matrix.config.precision }}
69-
# exp-name: ${{ matrix.config.exp-name }}
70-
# conc-list: ${{ toJson(matrix.config.conc) }}
71-
# spec-decoding: ${{ matrix.config.spec-decoding }}
72-
# disagg: ${{ matrix.config.disagg }}
73-
74-
# prefill-num-worker: ${{ matrix.config.prefill.num-worker }}
75-
# prefill-tp: ${{ matrix.config.prefill.tp }}
76-
# prefill-ep: ${{ matrix.config.prefill.ep }}
77-
# prefill-dp-attn: ${{ matrix.config.prefill.dp-attn }}
78-
# prefill-additional-settings: ${{ toJson(matrix.config.prefill.additional-settings) }}
79-
80-
# decode-num-worker: ${{ matrix.config.decode.num-worker }}
81-
# decode-tp: ${{ matrix.config.decode.tp }}
82-
# decode-ep: ${{ matrix.config.decode.ep }}
83-
# decode-dp-attn: ${{ matrix.config.decode.dp-attn }}
84-
# decode-additional-settings: ${{ toJson(matrix.config.decode.additional-settings) }}
33+
sweep-multi-node-1k1k:
34+
needs: get-jobs
35+
if: ${{ needs.get-jobs.outputs.search-space-config.multi_node['1k1k'] != '[]' }}
36+
uses: ./.github/workflows/benchmark-multinode-tmpl.yml
37+
name: multi-node 1k1k /
38+
strategy:
39+
fail-fast: false
40+
matrix:
41+
config: ${{ fromJson(needs.get-jobs.outputs.search-space-config).multi_node['1k1k'] }}
42+
secrets: inherit
43+
with: &multi-node-inputs
44+
isl: ${{ matrix.config.isl }}
45+
osl: ${{ matrix.config.osl }}
46+
max-model-len: ${{ matrix.config.max-model-len }}
47+
runner: ${{ matrix.config.runner }}
48+
image: ${{ matrix.config.image }}
49+
model: ${{ matrix.config.model }}
50+
model-prefix: ${{ matrix.config.model-prefix }}
51+
framework: ${{ matrix.config.framework }}
52+
precision: ${{ matrix.config.precision }}
53+
exp-name: ${{ matrix.config.exp-name }}
54+
conc-list: ${{ toJson(matrix.config.conc) }}
55+
spec-decoding: ${{ matrix.config.spec-decoding }}
56+
disagg: ${{ matrix.config.disagg }}
57+
58+
prefill-num-worker: ${{ matrix.config.prefill.num-worker }}
59+
prefill-tp: ${{ matrix.config.prefill.tp }}
60+
prefill-ep: ${{ matrix.config.prefill.ep }}
61+
prefill-dp-attn: ${{ matrix.config.prefill.dp-attn }}
62+
prefill-additional-settings: ${{ toJson(matrix.config.prefill.additional-settings) }}
63+
64+
decode-num-worker: ${{ matrix.config.decode.num-worker }}
65+
decode-tp: ${{ matrix.config.decode.tp }}
66+
decode-ep: ${{ matrix.config.decode.ep }}
67+
decode-dp-attn: ${{ matrix.config.decode.dp-attn }}
68+
decode-additional-settings: ${{ toJson(matrix.config.decode.additional-settings) }}
69+
70+
sweep-multi-node-1k8k:
71+
needs: get-jobs
72+
if: ${{ needs.get-jobs.outputs.search-space-config.multi_node['1k8k'] != '[]' }}
73+
uses: ./.github/workflows/benchmark-multinode-tmpl.yml
74+
name: multi-node 1k8k /
75+
strategy:
76+
fail-fast: false
77+
matrix:
78+
config: ${{ fromJson(needs.get-jobs.outputs.search-space-config).multi_node['1k8k'] }}
79+
secrets: inherit
80+
with: *multi-node-inputs
81+
82+
sweep-multi-node-8k1k:
83+
needs: get-jobs
84+
if: ${{ needs.get-jobs.outputs.search-space-config.multi_node['8k1k'] != '[]' }}
85+
uses: ./.github/workflows/benchmark-multinode-tmpl.yml
86+
name: multi-node 1k8k /
87+
strategy:
88+
fail-fast: false
89+
matrix:
90+
config: ${{ fromJson(needs.get-jobs.outputs.search-space-config).multi_node['8k1k'] }}
91+
secrets: inherit
92+
with: *multi-node-inputs
8593

8694
sweep-single-node-1k1k:
8795
needs: get-jobs
88-
if: ${{ needs.get-jobs.outputs.single-node-search-space-config.single_node['1k1k'] != '[]' }}
96+
if: ${{ needs.get-jobs.outputs.search-space-config.single_node['1k1k'] != '[]' }}
8997
uses: ./.github/workflows/benchmark-tmpl.yml
9098
name: single-node 1k1k /
9199
strategy:
92100
fail-fast: false
93101
matrix:
94-
config: ${{ fromJson(needs.get-jobs.outputs.multi-node-search-space-config).single_node['1k1k'] }}
95-
secrets: inherit
102+
config: ${{ fromJson(needs.get-jobs.outputs.search-space-config).single_node['1k1k'] }}
103+
secrets: inherit
96104
with: &single-node-inputs
97105
exp-name: ${{ matrix.config.exp-name }}
98106
isl: ${{ matrix.config.isl }}
@@ -113,30 +121,38 @@ jobs:
113121

114122
sweep-single-node-1k8k:
115123
needs: get-jobs
116-
if: ${{ needs.get-jobs.outputs.single-node-search-space-config.single_node['1k8k'] != '[]' }}
124+
if: ${{ needs.get-jobs.outputs.search-space-config.single_node['1k8k'] != '[]' }}
117125
uses: ./.github/workflows/benchmark-tmpl.yml
118126
name: single-node 1k8k /
119127
strategy:
120128
fail-fast: false
121129
matrix:
122-
config: ${{ fromJson(needs.get-jobs.outputs.multi-node-search-space-config).single_node['1k8k'] }}
123-
secrets: inherit
130+
config: ${{ fromJson(needs.get-jobs.outputs.search-space-config).single_node['1k8k'] }}
131+
secrets: inherit
124132
with: *single-node-inputs
125133

126134
sweep-single-node-8k1k:
127135
needs: get-jobs
128-
if: ${{ needs.get-jobs.outputs.single-node-search-space-config.single_node['8k1k'] != '[]' }}
136+
if: ${{ needs.get-jobs.outputs.search-space-config.single_node['8k1k'] != '[]' }}
129137
uses: ./.github/workflows/benchmark-tmpl.yml
130138
name: single-node 8k1k /
131139
strategy:
132140
fail-fast: false
133141
matrix:
134-
config: ${{ fromJson(needs.get-jobs.outputs.multi-node-search-space-config).single_node['8k1k'] }}
135-
secrets: inherit
142+
config: ${{ fromJson(needs.get-jobs.outputs.search-space-config).single_node['8k1k'] }}
143+
secrets: inherit
136144
with: *single-node-inputs
137145

138146
collect-results:
139-
needs: [sweep-single-node-1k1k, sweep-single-node-1k8k, sweep-single-node-8k1k]
147+
needs:
148+
[
149+
sweep-single-node-1k1k,
150+
sweep-single-node-1k8k,
151+
sweep-single-node-8k1k,
152+
sweep-multi-node-1k1k,
153+
sweep-multi-node-1k8k,
154+
sweep-multi-node-8k1k,
155+
]
140156
if: ${{ always() }}
141157
uses: ./.github/workflows/collect-results.yml
142158
secrets: inherit

0 commit comments

Comments
 (0)