-
Notifications
You must be signed in to change notification settings - Fork 1.6k
feat: nixl metadata store and retrieved from etcd #6
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
Merged
Changes from all commits
Commits
Show all changes
110 commits
Select commit
Hold shift + click to select a range
fbc3651
init example
tedzhouhk 9299991
add nixl to dockerfile.vllm
tedzhouhk 7206489
add nixl torch example
tedzhouhk d7c607d
wip vllm with nixl
tedzhouhk 80dfe9e
first working nixl conditional prefill
tedzhouhk ef012e0
add readme
tedzhouhk 3094654
use callback for remote prefill req
tedzhouhk 6078cdf
wip tp > 1
tedzhouhk 88f3d87
add nixl metadta struct
tedzhouhk 6f7e4ce
update readme with tp > 1
tedzhouhk be6588d
decode run with MQLLMEngine
tedzhouhk 21f33ca
decode on triton
tedzhouhk 00ffc97
triton dummy prefill
tedzhouhk 41a16a2
triton prefill
tedzhouhk cda0077
update readme
tedzhouhk 1971de5
remove nixl torch example
tedzhouhk 6eb260d
update todos
tedzhouhk 85ef7f5
update todos
tedzhouhk e8434f6
add http endpoint
tedzhouhk 81ab078
remove remote prefill response
tedzhouhk 899cc75
update todos
tedzhouhk be2682d
exchange metadta over fs
tedzhouhk c0e2357
do not restrict mem
tedzhouhk 3b42c68
update readme
tedzhouhk d80e1d6
init example
ptarasiewiczNV fb357ca
add nixl to dockerfile.vllm
ptarasiewiczNV e51ff32
add nixl torch example
ptarasiewiczNV d6fba17
wip vllm with nixl
ptarasiewiczNV f959b01
first working nixl conditional prefill
ptarasiewiczNV 0ff5e41
add readme
ptarasiewiczNV c93a152
use callback for remote prefill req
ptarasiewiczNV 7c8f728
wip tp > 1
ptarasiewiczNV 1fbc202
add nixl metadta struct
ptarasiewiczNV 2fe0710
update readme with tp > 1
ptarasiewiczNV d976011
decode run with MQLLMEngine
ptarasiewiczNV be5cd23
decode on triton
ptarasiewiczNV 96cde49
triton dummy prefill
ptarasiewiczNV 1438fb4
triton prefill
ptarasiewiczNV 40959d7
update readme
ptarasiewiczNV 594161d
remove nixl torch example
ptarasiewiczNV d72fc11
update todos
ptarasiewiczNV 350b831
update todos
ptarasiewiczNV 07c00a3
add http endpoint
ptarasiewiczNV 46ecc50
remove remote prefill response
ptarasiewiczNV 2edc85d
update todos
ptarasiewiczNV 8624ac5
exchange metadta over fs
ptarasiewiczNV 0a76d5e
do not restrict mem
ptarasiewiczNV 9d33228
update readme
ptarasiewiczNV 78615eb
update dockerfile with nixl changes
ptarasiewiczNV 4d6088a
update patch
ptarasiewiczNV e46aeda
Merge branch 'main' of github.com:triton-inference-server/triton_dist…
ptarasiewiczNV 93250b9
update trd package name
ptarasiewiczNV f017e11
add cli
ptarasiewiczNV 0b4f4c9
async output processing is working
ptarasiewiczNV d617364
linter
ptarasiewiczNV 4505408
separate dockerfile for nixl for now
ptarasiewiczNV a2b8103
update build for vllm nixl
ptarasiewiczNV 2f71a4e
nixl dockerfile
ptarasiewiczNV 4ec974c
linter
ptarasiewiczNV f11a8b6
add note about nixl
ptarasiewiczNV 757a570
update patch
e8f192a
Merge branch 'main' of github.com:triton-inference-server/triton_dist…
ptarasiewiczNV 3bd66fe
incremental updates
nnshah1 1483276
Merge branch 'ptarasiewicz/vllm-nixl' into nnshah1-vllm-nixl-etcd
nnshah1 372ffca
adding copyright
nnshah1 3fb55a5
minor fixes for static checking
nnshah1 4752aa2
added to prevent errors for duplicate modules from mypy
nnshah1 30b898f
udpate todos
ptarasiewiczNV c83f153
Merge branch 'ptarasiewicz/vllm-nixl' of github.com:triton-inference-…
ptarasiewiczNV d25fe48
vllm patch 3710d93d172c4582acb0ffb48d7c5c14e86d6b2d
48094f0
move decode to be a generic worker with --remote-prefill flag
ptarasiewiczNV 4f1be7e
add gap info
ptarasiewiczNV 0ac6c5b
update patch to e5916c8134924e22a7824cc5cac1cabf49f9d78f
b2bff7d
Merge branch 'ptarasiewicz/vllm-nixl' of github.com:triton-inference-…
ptarasiewiczNV 519ff81
add --remote-prefill cli flag
ptarasiewiczNV 936c342
Merge branch 'ptarasiewicz/vllm-nixl' into nnshah1-vllm-nixl-etcd
nnshah1 9ca6b7d
working draft
nnshah1 3fe6e4e
Merge branch 'main' into nnshah1-vllm-nixl-etcd
293d298
incremental
483a176
incremental
nnshah1 a5ebcfe
Merge branch 'nnshah1-vllm-nixl-etcd' of https://github.com/triton-in…
nnshah1 663e818
Merge branch 'main' into nnshah1-vllm-nixl-etcd
e36c8b2
expose etcd kv create validate
ishandhanani c58cc07
updated core.pyi
ishandhanani c420cfd
updated
967b955
incremental
9abf497
updating standard workers - added support for etcd environment variable
10037da
Merge branch 'main' into nnshah1-vllm-nixl-etcd
eb9902a
updated to remove import
d66e0cc
updating pre-commit
d9e1b9b
Revert changes to dockerfile
936aec1
adding kv put and get prefix
ishandhanani 4fba2c0
Merge remote-tracking branch 'origin/ishan/expose-etcd-bindings' into…
4ac8aa6
incremental
8b32db4
base working with rust etcd client
14be1b2
revert patch change
4a94788
cleanup
40e8a27
cleanup
4a991e2
Merge branch 'main' into nnshah1-vllm-nixl-etcd
ishandhanani 56d6487
updated with pre commit
nnshah1 95f56f9
updating copyright
nnshah1 403e19b
updating
nnshah1 d80308c
updated
nnshah1 e1ea2e2
Merge branch 'main' into nnshah1-vllm-nixl-etcd
nnshah1 1988743
Merge branch 'main' into nnshah1-vllm-nixl-etcd
nnshah1 1687548
Merge branch 'nnshah1-vllm-nixl-etcd' of https://github.com/dynemo-ai…
nnshah1 17f3bda
Update container/run.sh
nnshah1 54e9ea8
revert adding
nnshah1 bf9fdb9
Merge branch 'nnshah1-vllm-nixl-etcd' of https://github.com/dynemo-ai…
nnshah1 ba926e8
cleanup
nnshah1 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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| # SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License 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. | ||
|
|
||
| import asyncio | ||
|
|
||
| from triton_distributed._core import DistributedRuntime | ||
|
|
||
|
|
||
| async def test_simple_put_get(): | ||
| # Initialize runtime | ||
| loop = asyncio.get_running_loop() | ||
| runtime = DistributedRuntime(loop) | ||
|
|
||
| # Get etcd client | ||
| etcd = runtime.etcd_client() | ||
|
|
||
| # Write some key-value pairs | ||
| test_keys = { | ||
| "test/key1": b"value1", | ||
| "test/key2": b"value2", | ||
| "test/nested/key3": b"value3", | ||
| } | ||
| # Write each key-value pair | ||
| for key, value in test_keys.items(): | ||
| print(f"Writing {key} = {value!r}") | ||
| await etcd.kv_create_or_validate(key, value, None) | ||
|
|
||
| print("Successfully wrote all keys to etcd") | ||
|
|
||
| # Test kv_put | ||
| put_key = "test/put_key" | ||
| put_value = b"put_value" | ||
| test_keys[put_key] = put_value | ||
| print(f"Using kv_put to write {put_key} = {put_value!r}") | ||
| await etcd.kv_put(put_key, put_value, None) | ||
|
|
||
| # Test kv_get_prefix to read all keys | ||
| print("\nReading all keys with prefix 'test/':") | ||
| keys_values = await etcd.kv_get_prefix("test/") | ||
| for item in keys_values: | ||
| print(f"Retrieved {item['key']} = {item['value']!r}") | ||
| assert test_keys[item["key"]] == item["value"] | ||
|
|
||
| # Verify prefix filtering works | ||
| print("\nReading keys with prefix 'test/nested/':") | ||
| nested_keys_values = await etcd.kv_get_prefix("test/nested/") | ||
| for item in nested_keys_values: | ||
| print(f"Retrieved {item['key']} = {item['value']!r}") | ||
| assert test_keys[item["key"]] == item["value"] | ||
|
|
||
| # Shutdown runtime | ||
| runtime.shutdown() | ||
|
|
||
|
|
||
| if __name__ == "__main__": | ||
| asyncio.run(test_simple_put_get()) |
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.
Uh oh!
There was an error while loading. Please reload this page.