-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
[CI] Add Buildkite #2355
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+192
−37
Merged
[CI] Add Buildkite #2355
Changes from all commits
Commits
Show all changes
74 commits
Select commit
Hold shift + click to select a range
9885a22
add initial pipelien setup
simon-mo 4c72ed6
fix interpolation
simon-mo aa94936
skip interpolate
simon-mo 78715c5
add docker build target
simon-mo 8caed4c
Add K8s workers
simon-mo c758a6e
Add dependencies
simon-mo 9999af4
Use wait instead of depends
simon-mo 07d9770
Merge branch 'main' of github.com:vllm-project/vllm into ci-buildkite
simon-mo 3dec83c
set workingDir
simon-mo c2ab470
try bash inteasd
simon-mo ccf8ef4
move the test dir location
simon-mo 9035ad8
re-install in new workspace
simon-mo 457e056
fix
simon-mo 748cfe5
try pip install instead?
simon-mo 702d299
copy everything
simon-mo 63c885f
copy v2
simon-mo e9aa19a
fix workspace
simon-mo f81af48
fix workspace
simon-mo 7375cb0
fix workspace
simon-mo dd45ab3
fix workspace
simon-mo 80f2741
fix workspace
simon-mo 06d21ca
fix workspace
simon-mo 3bcfd93
fix workspace
simon-mo 8d11184
fix workspace
simon-mo 59052e0
fix workspace
simon-mo 8f92995
fix workspace
simon-mo 6a5ffd0
fix workspace
simon-mo 0821757
fix workspace
simon-mo bc8edfa
fix workspace
simon-mo f2fff98
fix workspace
simon-mo 5497b5b
fix workspace
simon-mo b5d6e6b
fix workspace
simon-mo 87ae7ec
install vllm as a module instead of raw source
simon-mo 7d41bbc
debug pip install
simon-mo a0663ca
trigger
simon-mo a84ae05
fix workspace
simon-mo 7549435
fix workspace
simon-mo 02e4795
fix workspace
simon-mo 211ebe2
fix workspace
simon-mo 2e7b535
fix workspace
simon-mo 6f108f6
working install
simon-mo db56161
fix workspace
simon-mo 427ba10
fix workspace
simon-mo 921de99
fix workspace
simon-mo 99617a3
fix workspace
simon-mo 12129c6
fix workspace
simon-mo 0b88055
fix workspace
simon-mo 8a578ee
fix workspace
simon-mo de7ff02
fix workspace
simon-mo f97588c
fix workspace
simon-mo 0ba20b4
add benchmarks
simon-mo f3b266b
fix some tests
simon-mo cb448df
fix few more tests!
simon-mo 60511d4
more fix
simon-mo 1bfb763
fix workspace
simon-mo 7f9ec5c
fix workspace
simon-mo 01946b5
fix workspace
simon-mo 3f97d88
fix workspace
simon-mo 7c76677
try fix tests
simon-mo d2a5b51
another round of fixes
simon-mo a697e9b
another round
simon-mo b445350
add git
simon-mo 2ed9005
Merge branch 'main' of github.com:vllm-project/vllm into ci-buildkite
simon-mo a984d6b
change test cache config
simon-mo 58d9ca7
use fp16 for tests
simon-mo c5c9bb1
more fixes
simon-mo e650571
soft_fail kernels and models tests due to partial failure
simon-mo 8d055f5
lint
simon-mo 4b5636d
small nits
simon-mo 2979bb0
Apply suggestions from code review
simon-mo 7193779
Merge branch 'main' into ci-buildkite
simon-mo 9856edd
fix lint
simon-mo ac31f21
address comment
simon-mo 14fe8a9
just keep waiting
simon-mo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| # This script is run by buildkite to run the benchmarks and upload the results to buildkite | ||
|
|
||
| set -ex | ||
|
|
||
| # cd into parent directory of this file | ||
| cd "$(dirname "${BASH_SOURCE[0]}")/.." | ||
|
|
||
| # run benchmarks and upload the result to buildkite | ||
| python3 benchmarks/benchmark_latency.py 2>&1 | tee benchmark_latency.txt | ||
|
|
||
| python3 benchmarks/benchmark_throughput.py --input-len 256 --output-len 256 2>&1 | tee benchmark_throughput.txt | ||
|
|
||
| # write the results into a markdown file | ||
| echo "### Latency Benchmarks" >> benchmark_results.md | ||
| sed -n '1p' benchmark_latency.txt >> benchmark_results.md | ||
| echo "" >> benchmark_results.md | ||
| sed -n '$p' benchmark_latency.txt >> benchmark_results.md | ||
| echo "### Throughput Benchmarks" >> benchmark_results.md | ||
| sed -n '1p' benchmark_throughput.txt >> benchmark_results.md | ||
| echo "" >> benchmark_results.md | ||
| sed -n '$p' benchmark_throughput.txt >> benchmark_results.md | ||
|
|
||
| # upload the results to buildkite | ||
| /workspace/buildkite-agent annotate --style "info" --context "benchmark-results" < benchmark_results.md |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # In this file, you can add more tests to run either by adding a new step or | ||
| # adding a new command to an existing step. See different options here for examples. | ||
| # This script will be feed into Jinja template in `test-template.j2` to generate | ||
| # the final pipeline yaml file. | ||
|
|
||
| steps: | ||
| - label: Regression Test | ||
| command: pytest -v -s test_regression.py | ||
| working_dir: "/vllm-workspace/tests" # optional | ||
|
|
||
| - label: AsyncEngine Test | ||
| command: pytest -v -s async_engine | ||
|
|
||
| - label: Distributed Test | ||
| command: pytest -v -s test_comm_ops.py | ||
| working_dir: "/vllm-workspace/tests/distributed" | ||
| num_gpus: 2 # only support 1 or 2 for now. | ||
|
|
||
| - label: Engine Test | ||
| command: pytest -v -s engine | ||
|
|
||
| - label: Kernels Test | ||
| command: pytest -v -s kernels | ||
| soft_fail: true | ||
|
|
||
| - label: Models Test | ||
| commands: | ||
| - pytest -v -s models --forked | ||
| soft_fail: true | ||
|
|
||
| - label: Samplers Test | ||
| command: pytest -v -s samplers --forked | ||
|
|
||
| - label: Worker Test | ||
| command: pytest -v -s worker | ||
|
|
||
| - label: Benchmarks | ||
| working_dir: "/vllm-workspace/.buildkite" | ||
| commands: | ||
| - pip install aiohttp | ||
| - bash run-benchmarks.sh |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| {% set docker_image = "us-central1-docker.pkg.dev/vllm-405802/vllm-ci-test-repo/vllm-test:$BUILDKITE_COMMIT" %} | ||
| {% set default_num_gpu = 1 %} | ||
| {% set default_working_dir = "/vllm-workspace/tests" %} | ||
|
|
||
| steps: | ||
| - label: ":docker: build image" | ||
| commands: | ||
| - "docker build --tag {{ docker_image }} --target test --progress plain ." | ||
| - "docker push {{ docker_image }}" | ||
| env: | ||
| DOCKER_BUILDKIT: "1" | ||
| - wait | ||
|
|
||
| {% for step in steps %} | ||
| - label: "{{ step.label }}" | ||
| agents: | ||
| queue: kubernetes | ||
| soft_fail: {{ step.soft_fail or false }} | ||
| plugins: | ||
| - kubernetes: | ||
| podSpec: | ||
| volumes: | ||
| - name: dshm | ||
| emptyDir: | ||
| medium: Memory | ||
| containers: | ||
| - image: "{{ docker_image }}" | ||
| command: ["bash"] | ||
| args: | ||
| - "-c" | ||
| - "'cd {{ (step.working_dir or default_working_dir) | safe }} && {{ step.command or (step.commands | join(' && ')) | safe }}'" | ||
| resources: | ||
| requests: | ||
| nvidia.com/gpu: "{{ step.num_gpus or default_num_gpu }}" | ||
| limits: | ||
| nvidia.com/gpu: "{{ step.num_gpus or default_num_gpu }}" | ||
| env: | ||
| - name: HF_TOKEN | ||
| valueFrom: | ||
| secretKeyRef: | ||
| name: hf-token-secret | ||
| key: token | ||
| volumeMounts: | ||
| - mountPath: /dev/shm | ||
| name: dshm | ||
| {% endfor %} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just curious, why change to ray?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in the code below, i added a comment saying ray gives way better log for debugging purpose (i couldn't figure the failures from multiprocessing)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gotcha! makes a lot of sense.