gpustack-runner 0.1.23.post5__tar.gz → 0.1.24.post1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/PKG-INFO +27 -39
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/README.md +26 -38
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/__init__.py +10 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/__main__.py +2 -0
- gpustack_runner-0.1.24.post1/gpustack_runner/__utils__.py +155 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/_version.py +2 -2
- gpustack_runner-0.1.24.post1/gpustack_runner/_version_appendix.py +1 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/cmds/__init__.py +2 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/cmds/images.py +372 -99
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/envs.py +19 -3
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/runner.py +1 -7
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/runner.py.json +22 -0
- gpustack_runner-0.1.24.post1/pack/.post_operation/20251213_mindie_patch_minicpm_qwen2_v2/cann/patches.zip +0 -0
- gpustack_runner-0.1.24.post1/pack/cann/mindie-atb-models_2.2.rc1_linux-amd64_py3.11_torch2.1.0-abi0.tar.gz +0 -0
- gpustack_runner-0.1.24.post1/pack/cann/mindie-atb-models_2.2.rc1_linux-arm64_py3.11_torch2.1.0-abi0.tar.gz +0 -0
- gpustack_runner-0.1.24.post1/pack/cann/patches/mindie.zip +0 -0
- gpustack_runner-0.1.24.post1/pack/hggc/Dockerfile +389 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/matrix.yaml +36 -11
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/musa/Dockerfile +1 -2
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tests/gpustack_runner/fixtures/test_list_runners_by_backend.json +30 -0
- gpustack_runner-0.1.24.post1/tests/gpustack_runner/fixtures/test_merge_image.json +25 -0
- gpustack_runner-0.1.24.post1/tests/gpustack_runner/fixtures/test_replace_image_with.json +58 -0
- gpustack_runner-0.1.24.post1/tests/gpustack_runner/fixtures/test_split_image.json +43 -0
- gpustack_runner-0.1.24.post1/tests/gpustack_runner/test_utils.py +47 -0
- gpustack_runner-0.1.23.post5/gpustack_runner/_version_appendix.py +0 -1
- gpustack_runner-0.1.23.post5/pack/.post_operation/20251213_mindie_patch_minicpm_qwen2_v2/cann/patches.zip +0 -3
- gpustack_runner-0.1.23.post5/pack/cann/mindie-atb-models_2.2.rc1_linux-amd64_py3.11_torch2.1.0-abi0.tar.gz +0 -3
- gpustack_runner-0.1.23.post5/pack/cann/mindie-atb-models_2.2.rc1_linux-arm64_py3.11_torch2.1.0-abi0.tar.gz +0 -3
- gpustack_runner-0.1.23.post5/pack/cann/patches/mindie.zip +0 -3
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/.codespelldict +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/.codespellrc +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/.gitattributes +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/.gitignore +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/.pre-commit-config.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/.python-version +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/LICENSE +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/Makefile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/docs/index.md +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/docs/modules/gpustack_runner.md +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/_version.pyi +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/cmds/__types__.py +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/hatch.toml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/mkdocs.yml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251020_vllm_install_lmcache/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251020_vllm_install_lmcache/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251020_vllm_install_lmcache/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251020_vllm_install_lmcache/rocm/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251022_vllm_install_ray_client/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251022_vllm_install_ray_client/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251022_vllm_install_ray_client/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251022_vllm_install_ray_client/rocm/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251022_vllm_install_ray_default/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251022_vllm_install_ray_default/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251022_vllm_install_ray_default/rocm/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251024_vllm_install_nvidia_hpcx/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251024_vllm_install_nvidia_hpcx/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251024_vllm_reinstall_lmcache/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251024_vllm_reinstall_lmcache/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251029_vllm_reinstall_ray/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251029_vllm_reinstall_ray/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251103_mindie_refresh_entrypoint/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251103_mindie_refresh_entrypoint/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251105_vllm_polish_nvidia_hpcx/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251105_vllm_polish_nvidia_hpcx/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251106_vllm_install_ep_kernel/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251106_vllm_install_ep_kernel/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251107_vllm_reinstall_lmcache/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251107_vllm_reinstall_lmcache/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251110_sglang_install_diffusion/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251110_sglang_install_diffusion/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251110_sglang_install_flashattn/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251110_sglang_install_flashattn/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251125_mindie_install_posix_ipc/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251125_mindie_install_posix_ipc/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251201_vllm_patch_qwen2_5_vl/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251201_vllm_patch_qwen2_5_vl/cuda/patches/vllm_001_disable_flashatten_in_qwen2_5_vl.patch +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251201_vllm_patch_qwen2_5_vl/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251209_mindie_install_av/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251209_mindie_install_av/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251213_mindie_patch_minicpm_qwen2_v2/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251213_mindie_patch_minicpm_qwen2_v2/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251213_sglang_patch_server_args/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251213_sglang_patch_server_args/cuda/patches/sglang_001_fix_server_args.patch +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251213_sglang_patch_server_args/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251214_cuda_several_patches/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251214_cuda_several_patches/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251215_cann_several_patches/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251215_cann_several_patches/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251216_sglang_uninstall_runai_model_streamer/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251216_sglang_uninstall_runai_model_streamer/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251219_rocm_install_petit_kernel/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251219_rocm_install_petit_kernel/rocm/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251219_vllm_install_audio_extra/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251219_vllm_install_audio_extra/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251219_vllm_install_audio_extra/rocm/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251224_mindie_patch_atb_config/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20251224_mindie_patch_atb_config/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20260105_vllm_install_omni/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20260105_vllm_install_omni/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20260105_vllm_install_omni/matrix.yaml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/20260105_vllm_install_omni/rocm/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/.post_operation/README.md +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/cann/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/corex/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/cuda/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/discard_runner.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/dtk/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/expand_matrix.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/maca/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/merge_runner.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/prune_runner.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/rocm/Dockerfile +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pack/rocm/patches/sglang_001_wrong_vram.patch +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pyproject.toml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/pytest.ini +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/ruff.toml +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tests/gpustack_runner/fixtures/__init__.py +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tests/gpustack_runner/fixtures/test_docker_image.json +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tests/gpustack_runner/fixtures/test_list_backend_runners.json +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tests/gpustack_runner/fixtures/test_list_runners_by_prefix.json +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tests/gpustack_runner/fixtures/test_list_service_runners.json +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tests/gpustack_runner/test_runner.py +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tools/activate +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tools/chat.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tools/chat_tool_current_date_time.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tools/chat_tool_get_temperature.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tools/chat_tool_get_weather.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tools/chat_tool_square_of_number.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tools/chat_tool_square_root_of_number.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tools/chat_tool_where_am_i.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tools/run_runner.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/tools/run_runner_cluster.sh +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/uv.lock +0 -0
- {gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/uv.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gpustack-runner
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.24.post1
|
|
4
4
|
Summary: GPUStack Runner is library for registering runnable accelerated backends and services in GPUStack.
|
|
5
5
|
Project-URL: Homepage, https://github.com/gpustack/runner
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/gpustack/gpustack/issues
|
|
@@ -46,24 +46,20 @@ The following table lists the supported accelerated backends and their correspon
|
|
|
46
46
|
|
|
47
47
|
### Ascend CANN
|
|
48
48
|
|
|
49
|
-
> [!CAUTION]
|
|
50
|
-
> Since v0.1.23:
|
|
51
|
-
> - Deprecated MindIE `2.1.rc1`.
|
|
52
|
-
|
|
53
49
|
> [!WARNING]
|
|
54
50
|
> - The Atlas 300I series is currently experimental in vLLM, only supporting eager mode and float16 data type. And there
|
|
55
51
|
are some known issues for running vLLM, you can refer to
|
|
56
52
|
vllm-ascend [#3316](https://github.com/vllm-project/vllm-ascend/issues/3316)
|
|
57
53
|
and [#2795](https://github.com/vllm-project/vllm-ascend/issues/2795).
|
|
58
54
|
|
|
59
|
-
| CANN Version <br/> (Variant) | MindIE
|
|
60
|
-
|
|
61
|
-
| 8.3 (A3/910C) | `2.2.rc1`
|
|
62
|
-
| 8.3 (910B) | `2.2.rc1`
|
|
63
|
-
| 8.3 (310P) | `2.2.rc1`
|
|
64
|
-
| 8.2 (A3/910C) | `2.1.rc2`
|
|
65
|
-
| 8.2 (910B) | `2.1.rc2
|
|
66
|
-
| 8.2 (310P) | `2.1.rc2
|
|
55
|
+
| CANN Version <br/> (Variant) | MindIE | vLLM | SGLang |
|
|
56
|
+
|------------------------------|-----------|------------------------------------------------------------|------------------------|
|
|
57
|
+
| 8.3 (A3/910C) | `2.2.rc1` | `0.13.0`, `0.12.0`, `0.11.0` | `0.5.7`, `0.5.6.post2` |
|
|
58
|
+
| 8.3 (910B) | `2.2.rc1` | `0.13.0`, `0.12.0`, `0.11.0` | `0.5.7`, `0.5.6.post2` |
|
|
59
|
+
| 8.3 (310P) | `2.2.rc1` | | |
|
|
60
|
+
| 8.2 (A3/910C) | `2.1.rc2` | `0.10.2`, `0.10.1.1` | `0.5.2`, `0.5.1.post3` |
|
|
61
|
+
| 8.2 (910B) | `2.1.rc2` | `0.10.2`, `0.10.1.1`, <br/>`0.10.0`, `0.9.2`, <br/>`0.9.1` | `0.5.2`, `0.5.1.post3` |
|
|
62
|
+
| 8.2 (310P) | `2.1.rc2` | `0.10.0`, `0.9.2` | |
|
|
67
63
|
|
|
68
64
|
### Iluvatar CoreX
|
|
69
65
|
|
|
@@ -73,13 +69,6 @@ The following table lists the supported accelerated backends and their correspon
|
|
|
73
69
|
|
|
74
70
|
### NVIDIA CUDA
|
|
75
71
|
|
|
76
|
-
> [!CAUTION]
|
|
77
|
-
> Since v0.1.23:
|
|
78
|
-
> - Deprecated all services for CUDA 12.4.
|
|
79
|
-
> - Deprecated vLLM `0.11.0`, `0.10.1.1`, `0.10.0`.
|
|
80
|
-
> - Deprecated SGLang `0.5.5`.
|
|
81
|
-
> - Deprecated VoxBox `0.0.20`.
|
|
82
|
-
|
|
83
72
|
> [!NOTE]
|
|
84
73
|
> - CUDA 12.9 supports Compute Capabilities:
|
|
85
74
|
`7.5 8.0+PTX 8.9 9.0 10.0 10.3 12.0 12.1+PTX`.
|
|
@@ -88,12 +77,11 @@ The following table lists the supported accelerated backends and their correspon
|
|
|
88
77
|
> - CUDA 12.6/12.4 supports Compute Capabilities:
|
|
89
78
|
`7.5 8.0+PTX 8.9 9.0+PTX`.
|
|
90
79
|
|
|
91
|
-
| CUDA Version <br/> (Variant) | vLLM
|
|
92
|
-
|
|
93
|
-
| 12.9 | `0.13.0`, `0.12.0`, <br/>`0.11.2`
|
|
94
|
-
| 12.8 | `0.13.0`, `0.12.0`, <br/>`0.11.2`,
|
|
95
|
-
| 12.6 | `0.13.0`, `0.12.0`, <br/>`0.11.2
|
|
96
|
-
| 12.4 | ~~`0.11.0`~~, ~~`0.10.2`~~, <br/>~~`0.10.1.1`~~, ~~`0.10.0`~~ | | ~~`0.0.20`~~ |
|
|
80
|
+
| CUDA Version <br/> (Variant) | vLLM | SGLang | VoxBox |
|
|
81
|
+
|------------------------------|---------------------------------------------|-----------------------------------------------------------|----------|
|
|
82
|
+
| 12.9 | `0.13.0`, `0.12.0`, <br/>`0.11.2` | `0.5.7`, `0.5.6.post2` | |
|
|
83
|
+
| 12.8 | `0.13.0`, `0.12.0`, <br/>`0.11.2`, `0.10.2` | `0.5.7`, `0.5.6.post2`, <br/>`0.5.5.post3`, `0.5.4.post3` | `0.0.21` |
|
|
84
|
+
| 12.6 | `0.13.0`, `0.12.0`, <br/>`0.11.2`,`0.10.2` | | `0.0.21` |
|
|
97
85
|
|
|
98
86
|
### Hygon DTK
|
|
99
87
|
|
|
@@ -101,6 +89,12 @@ The following table lists the supported accelerated backends and their correspon
|
|
|
101
89
|
|-----------------------------|----------------------------|
|
|
102
90
|
| 25.04 | `0.11.0`, `0.9.2`, `0.8.5` |
|
|
103
91
|
|
|
92
|
+
### THead HGGC
|
|
93
|
+
|
|
94
|
+
| HGGC Version <br/> (Variant) | vLLM | SGLang |
|
|
95
|
+
|------------------------------|----------|---------|
|
|
96
|
+
| 12.3 | `0.11.1` | `0.5.5` |
|
|
97
|
+
|
|
104
98
|
### MetaX MACA
|
|
105
99
|
|
|
106
100
|
| MACA Version <br/> (Variant) | vLLM |
|
|
@@ -117,29 +111,23 @@ The following table lists the supported accelerated backends and their correspon
|
|
|
117
111
|
|
|
118
112
|
### AMD ROCm
|
|
119
113
|
|
|
120
|
-
> [!CAUTION]
|
|
121
|
-
> Since v0.1.23:
|
|
122
|
-
> - Deprecated all services for ROCm 6.3.
|
|
123
|
-
> - Deprecated vLLM `0.11.0`.
|
|
124
|
-
|
|
125
114
|
> [!NOTE]
|
|
126
115
|
> - ROCm 7.0 supports LLVM targets:
|
|
127
116
|
`gfx908 gfx90a gfx942 gfx950 gfx1030 gfx1100 gfx1101 gfx1200 gfx1201 gfx1150 gfx1151`.
|
|
128
|
-
> - ROCm 6.4
|
|
117
|
+
> - ROCm 6.4 supports LLVM targets:
|
|
129
118
|
`gfx908 gfx90a gfx942 gfx1030 gfx1100`.
|
|
130
119
|
|
|
131
120
|
> [!WARNING]
|
|
132
121
|
> - ROCm 7.0 vLLM `0.11.2/0.11.0` are reusing the official ROCm 6.4 PyTorch 2.9 wheel package rather than a ROCm
|
|
133
|
-
7.0 specific PyTorch build. Although supports ROCm 7.0 in vLLM `0.11.2
|
|
122
|
+
7.0 specific PyTorch build. Although supports ROCm 7.0 in vLLM `0.11.2`, `gfx1150/gfx1151` are not supported yet.
|
|
134
123
|
> - ROCm 6.4 vLLM `0.13.0` supports `gfx903 gfx90a gfx942` only.
|
|
135
124
|
> - ROCm 6.4 SGLang supports `gfx942` only.
|
|
136
125
|
> - ROCm 7.0 SGLang supports `gfx950` only.
|
|
137
126
|
|
|
138
|
-
| ROCm Version <br/> (Variant) | vLLM
|
|
139
|
-
|
|
140
|
-
| 7.0 | `0.13.0`, `0.12.0`, <br/>`0.11.2
|
|
141
|
-
| 6.4 | `0.13.0`, `0.12.0`, <br/>`0.11.2`, `0.10.2`
|
|
142
|
-
| 6.3 | ~~`0.10.1.1`~~, ~~`0.10.0`~~ | |
|
|
127
|
+
| ROCm Version <br/> (Variant) | vLLM | SGLang |
|
|
128
|
+
|------------------------------|---------------------------------------------|--------------------------------------------|
|
|
129
|
+
| 7.0 | `0.13.0`, `0.12.0`, <br/>`0.11.2` | `0.5.7`, `0.5.6.post2` |
|
|
130
|
+
| 6.4 | `0.13.0`, `0.12.0`, <br/>`0.11.2`, `0.10.2` | `0.5.7`, `0.5.6.post2`, <br/>`0.5.5.post3` |
|
|
143
131
|
|
|
144
132
|
## Directory Structure
|
|
145
133
|
|
|
@@ -251,7 +239,7 @@ To add support for a new accelerated backend:
|
|
|
251
239
|
|
|
252
240
|
1. Create a new directory under `pack/` named with the new backend.
|
|
253
241
|
2. Add a `Dockerfile` in the new directory following the [Dockerfile Convention](#dockerfile-convention).
|
|
254
|
-
3. Update [pack.yml](.github/workflows/pack.yml) to include the new backend in the build matrix.
|
|
242
|
+
3. Update [pack.yml](.github/workflows/pack.yml), [discard.yml](.github/workflows/discard.yml) and [prune.yml](.github/workflows/prune.yml) to include the new backend in the build matrix.
|
|
255
243
|
4. Update [matrix.yml](pack/matrix.yaml) to include the new backend and its variants.
|
|
256
244
|
5. Update `_RE_DOCKER_IMAGE` in [runner.py](gpustack_runner/runner.py) to recognize the new backend.
|
|
257
245
|
6. [Optional] Update [tests](tests/gpustack_runner) if necessary.
|
|
@@ -26,24 +26,20 @@ The following table lists the supported accelerated backends and their correspon
|
|
|
26
26
|
|
|
27
27
|
### Ascend CANN
|
|
28
28
|
|
|
29
|
-
> [!CAUTION]
|
|
30
|
-
> Since v0.1.23:
|
|
31
|
-
> - Deprecated MindIE `2.1.rc1`.
|
|
32
|
-
|
|
33
29
|
> [!WARNING]
|
|
34
30
|
> - The Atlas 300I series is currently experimental in vLLM, only supporting eager mode and float16 data type. And there
|
|
35
31
|
are some known issues for running vLLM, you can refer to
|
|
36
32
|
vllm-ascend [#3316](https://github.com/vllm-project/vllm-ascend/issues/3316)
|
|
37
33
|
and [#2795](https://github.com/vllm-project/vllm-ascend/issues/2795).
|
|
38
34
|
|
|
39
|
-
| CANN Version <br/> (Variant) | MindIE
|
|
40
|
-
|
|
41
|
-
| 8.3 (A3/910C) | `2.2.rc1`
|
|
42
|
-
| 8.3 (910B) | `2.2.rc1`
|
|
43
|
-
| 8.3 (310P) | `2.2.rc1`
|
|
44
|
-
| 8.2 (A3/910C) | `2.1.rc2`
|
|
45
|
-
| 8.2 (910B) | `2.1.rc2
|
|
46
|
-
| 8.2 (310P) | `2.1.rc2
|
|
35
|
+
| CANN Version <br/> (Variant) | MindIE | vLLM | SGLang |
|
|
36
|
+
|------------------------------|-----------|------------------------------------------------------------|------------------------|
|
|
37
|
+
| 8.3 (A3/910C) | `2.2.rc1` | `0.13.0`, `0.12.0`, `0.11.0` | `0.5.7`, `0.5.6.post2` |
|
|
38
|
+
| 8.3 (910B) | `2.2.rc1` | `0.13.0`, `0.12.0`, `0.11.0` | `0.5.7`, `0.5.6.post2` |
|
|
39
|
+
| 8.3 (310P) | `2.2.rc1` | | |
|
|
40
|
+
| 8.2 (A3/910C) | `2.1.rc2` | `0.10.2`, `0.10.1.1` | `0.5.2`, `0.5.1.post3` |
|
|
41
|
+
| 8.2 (910B) | `2.1.rc2` | `0.10.2`, `0.10.1.1`, <br/>`0.10.0`, `0.9.2`, <br/>`0.9.1` | `0.5.2`, `0.5.1.post3` |
|
|
42
|
+
| 8.2 (310P) | `2.1.rc2` | `0.10.0`, `0.9.2` | |
|
|
47
43
|
|
|
48
44
|
### Iluvatar CoreX
|
|
49
45
|
|
|
@@ -53,13 +49,6 @@ The following table lists the supported accelerated backends and their correspon
|
|
|
53
49
|
|
|
54
50
|
### NVIDIA CUDA
|
|
55
51
|
|
|
56
|
-
> [!CAUTION]
|
|
57
|
-
> Since v0.1.23:
|
|
58
|
-
> - Deprecated all services for CUDA 12.4.
|
|
59
|
-
> - Deprecated vLLM `0.11.0`, `0.10.1.1`, `0.10.0`.
|
|
60
|
-
> - Deprecated SGLang `0.5.5`.
|
|
61
|
-
> - Deprecated VoxBox `0.0.20`.
|
|
62
|
-
|
|
63
52
|
> [!NOTE]
|
|
64
53
|
> - CUDA 12.9 supports Compute Capabilities:
|
|
65
54
|
`7.5 8.0+PTX 8.9 9.0 10.0 10.3 12.0 12.1+PTX`.
|
|
@@ -68,12 +57,11 @@ The following table lists the supported accelerated backends and their correspon
|
|
|
68
57
|
> - CUDA 12.6/12.4 supports Compute Capabilities:
|
|
69
58
|
`7.5 8.0+PTX 8.9 9.0+PTX`.
|
|
70
59
|
|
|
71
|
-
| CUDA Version <br/> (Variant) | vLLM
|
|
72
|
-
|
|
73
|
-
| 12.9 | `0.13.0`, `0.12.0`, <br/>`0.11.2`
|
|
74
|
-
| 12.8 | `0.13.0`, `0.12.0`, <br/>`0.11.2`,
|
|
75
|
-
| 12.6 | `0.13.0`, `0.12.0`, <br/>`0.11.2
|
|
76
|
-
| 12.4 | ~~`0.11.0`~~, ~~`0.10.2`~~, <br/>~~`0.10.1.1`~~, ~~`0.10.0`~~ | | ~~`0.0.20`~~ |
|
|
60
|
+
| CUDA Version <br/> (Variant) | vLLM | SGLang | VoxBox |
|
|
61
|
+
|------------------------------|---------------------------------------------|-----------------------------------------------------------|----------|
|
|
62
|
+
| 12.9 | `0.13.0`, `0.12.0`, <br/>`0.11.2` | `0.5.7`, `0.5.6.post2` | |
|
|
63
|
+
| 12.8 | `0.13.0`, `0.12.0`, <br/>`0.11.2`, `0.10.2` | `0.5.7`, `0.5.6.post2`, <br/>`0.5.5.post3`, `0.5.4.post3` | `0.0.21` |
|
|
64
|
+
| 12.6 | `0.13.0`, `0.12.0`, <br/>`0.11.2`,`0.10.2` | | `0.0.21` |
|
|
77
65
|
|
|
78
66
|
### Hygon DTK
|
|
79
67
|
|
|
@@ -81,6 +69,12 @@ The following table lists the supported accelerated backends and their correspon
|
|
|
81
69
|
|-----------------------------|----------------------------|
|
|
82
70
|
| 25.04 | `0.11.0`, `0.9.2`, `0.8.5` |
|
|
83
71
|
|
|
72
|
+
### THead HGGC
|
|
73
|
+
|
|
74
|
+
| HGGC Version <br/> (Variant) | vLLM | SGLang |
|
|
75
|
+
|------------------------------|----------|---------|
|
|
76
|
+
| 12.3 | `0.11.1` | `0.5.5` |
|
|
77
|
+
|
|
84
78
|
### MetaX MACA
|
|
85
79
|
|
|
86
80
|
| MACA Version <br/> (Variant) | vLLM |
|
|
@@ -97,29 +91,23 @@ The following table lists the supported accelerated backends and their correspon
|
|
|
97
91
|
|
|
98
92
|
### AMD ROCm
|
|
99
93
|
|
|
100
|
-
> [!CAUTION]
|
|
101
|
-
> Since v0.1.23:
|
|
102
|
-
> - Deprecated all services for ROCm 6.3.
|
|
103
|
-
> - Deprecated vLLM `0.11.0`.
|
|
104
|
-
|
|
105
94
|
> [!NOTE]
|
|
106
95
|
> - ROCm 7.0 supports LLVM targets:
|
|
107
96
|
`gfx908 gfx90a gfx942 gfx950 gfx1030 gfx1100 gfx1101 gfx1200 gfx1201 gfx1150 gfx1151`.
|
|
108
|
-
> - ROCm 6.4
|
|
97
|
+
> - ROCm 6.4 supports LLVM targets:
|
|
109
98
|
`gfx908 gfx90a gfx942 gfx1030 gfx1100`.
|
|
110
99
|
|
|
111
100
|
> [!WARNING]
|
|
112
101
|
> - ROCm 7.0 vLLM `0.11.2/0.11.0` are reusing the official ROCm 6.4 PyTorch 2.9 wheel package rather than a ROCm
|
|
113
|
-
7.0 specific PyTorch build. Although supports ROCm 7.0 in vLLM `0.11.2
|
|
102
|
+
7.0 specific PyTorch build. Although supports ROCm 7.0 in vLLM `0.11.2`, `gfx1150/gfx1151` are not supported yet.
|
|
114
103
|
> - ROCm 6.4 vLLM `0.13.0` supports `gfx903 gfx90a gfx942` only.
|
|
115
104
|
> - ROCm 6.4 SGLang supports `gfx942` only.
|
|
116
105
|
> - ROCm 7.0 SGLang supports `gfx950` only.
|
|
117
106
|
|
|
118
|
-
| ROCm Version <br/> (Variant) | vLLM
|
|
119
|
-
|
|
120
|
-
| 7.0 | `0.13.0`, `0.12.0`, <br/>`0.11.2
|
|
121
|
-
| 6.4 | `0.13.0`, `0.12.0`, <br/>`0.11.2`, `0.10.2`
|
|
122
|
-
| 6.3 | ~~`0.10.1.1`~~, ~~`0.10.0`~~ | |
|
|
107
|
+
| ROCm Version <br/> (Variant) | vLLM | SGLang |
|
|
108
|
+
|------------------------------|---------------------------------------------|--------------------------------------------|
|
|
109
|
+
| 7.0 | `0.13.0`, `0.12.0`, <br/>`0.11.2` | `0.5.7`, `0.5.6.post2` |
|
|
110
|
+
| 6.4 | `0.13.0`, `0.12.0`, <br/>`0.11.2`, `0.10.2` | `0.5.7`, `0.5.6.post2`, <br/>`0.5.5.post3` |
|
|
123
111
|
|
|
124
112
|
## Directory Structure
|
|
125
113
|
|
|
@@ -231,7 +219,7 @@ To add support for a new accelerated backend:
|
|
|
231
219
|
|
|
232
220
|
1. Create a new directory under `pack/` named with the new backend.
|
|
233
221
|
2. Add a `Dockerfile` in the new directory following the [Dockerfile Convention](#dockerfile-convention).
|
|
234
|
-
3. Update [pack.yml](.github/workflows/pack.yml) to include the new backend in the build matrix.
|
|
222
|
+
3. Update [pack.yml](.github/workflows/pack.yml), [discard.yml](.github/workflows/discard.yml) and [prune.yml](.github/workflows/prune.yml) to include the new backend in the build matrix.
|
|
235
223
|
4. Update [matrix.yml](pack/matrix.yaml) to include the new backend and its variants.
|
|
236
224
|
5. Update `_RE_DOCKER_IMAGE` in [runner.py](gpustack_runner/runner.py) to recognize the new backend.
|
|
237
225
|
6. [Optional] Update [tests](tests/gpustack_runner) if necessary.
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
from .__utils__ import (
|
|
4
|
+
merge_image,
|
|
5
|
+
parse_image,
|
|
6
|
+
replace_image_with,
|
|
7
|
+
split_image,
|
|
8
|
+
)
|
|
3
9
|
from ._version import commit_id, version, version_tuple
|
|
4
10
|
from .runner import (
|
|
5
11
|
BackendRunners,
|
|
@@ -21,7 +27,11 @@ __all__ = [
|
|
|
21
27
|
"list_backend_runners",
|
|
22
28
|
"list_runners",
|
|
23
29
|
"list_service_runners",
|
|
30
|
+
"merge_image",
|
|
31
|
+
"parse_image",
|
|
32
|
+
"replace_image_with",
|
|
24
33
|
"set_re_docker_image",
|
|
34
|
+
"split_image",
|
|
25
35
|
"version",
|
|
26
36
|
"version_tuple",
|
|
27
37
|
]
|
|
@@ -11,6 +11,7 @@ from .cmds import (
|
|
|
11
11
|
CompareImagesSubCommand,
|
|
12
12
|
CopyImagesSubCommand,
|
|
13
13
|
ListImagesSubCommand,
|
|
14
|
+
LoadImagesSubCommand,
|
|
14
15
|
SaveImagesSubCommand,
|
|
15
16
|
)
|
|
16
17
|
|
|
@@ -35,6 +36,7 @@ def main():
|
|
|
35
36
|
SaveImagesSubCommand.register(subcommand_parser)
|
|
36
37
|
CopyImagesSubCommand.register(subcommand_parser)
|
|
37
38
|
CompareImagesSubCommand.register(subcommand_parser)
|
|
39
|
+
LoadImagesSubCommand.register(subcommand_parser)
|
|
38
40
|
|
|
39
41
|
# Autocomplete
|
|
40
42
|
argcomplete.autocomplete(parser)
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
_BLANK_TAG = "latest"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def split_image(image: str, fill_blank_tag: bool = False) -> tuple:
|
|
7
|
+
"""
|
|
8
|
+
Split the Docker completed image string into its image_name([registry/][namespace/]repository) and image_tag.
|
|
9
|
+
|
|
10
|
+
Args:
|
|
11
|
+
image:
|
|
12
|
+
The Docker completed image string to split.
|
|
13
|
+
fill_blank_tag:
|
|
14
|
+
If True, fill the blank tag with `latest`.
|
|
15
|
+
|
|
16
|
+
Returns:
|
|
17
|
+
A tuple of (image_name, image_tag).
|
|
18
|
+
|
|
19
|
+
"""
|
|
20
|
+
parts = image.rsplit("@", maxsplit=1)
|
|
21
|
+
if len(parts) == 2:
|
|
22
|
+
return tuple(parts)
|
|
23
|
+
parts = image.rsplit(":", maxsplit=1)
|
|
24
|
+
if len(parts) == 2 and "/" not in parts[1]:
|
|
25
|
+
if fill_blank_tag:
|
|
26
|
+
parts[1] = parts[1] or _BLANK_TAG
|
|
27
|
+
return tuple(parts)
|
|
28
|
+
return image, _BLANK_TAG if fill_blank_tag else None
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def merge_image(image_name: str, image_tag: str | None = None) -> str:
|
|
32
|
+
"""
|
|
33
|
+
Merge the Docker image and image_tag into a single string.
|
|
34
|
+
|
|
35
|
+
Args:
|
|
36
|
+
image_name:
|
|
37
|
+
The Docker image name, in form of [registry/][namespace/]repository.
|
|
38
|
+
image_tag:
|
|
39
|
+
The Docker image tag.
|
|
40
|
+
|
|
41
|
+
Returns:
|
|
42
|
+
The completed Docker image string.
|
|
43
|
+
|
|
44
|
+
"""
|
|
45
|
+
if not image_tag:
|
|
46
|
+
return image_name
|
|
47
|
+
if image_tag.startswith("sha256:"):
|
|
48
|
+
return f"{image_name}@{image_tag}"
|
|
49
|
+
return f"{image_name}:{image_tag}"
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def parse_image(
|
|
53
|
+
image: str,
|
|
54
|
+
fill_blank_tag: bool = False,
|
|
55
|
+
) -> tuple[str | None, str | None, str, str | None] | None:
|
|
56
|
+
"""
|
|
57
|
+
Parse the Docker image string into its components:
|
|
58
|
+
registry, namespace, repository, and tag.
|
|
59
|
+
|
|
60
|
+
Args:
|
|
61
|
+
image:
|
|
62
|
+
The Docker image string to parse.
|
|
63
|
+
fill_blank_tag:
|
|
64
|
+
If True, fill the blank tag with `latest`.
|
|
65
|
+
|
|
66
|
+
Returns:
|
|
67
|
+
A tuple of (registry, namespace, repository, tag).
|
|
68
|
+
Registry, namespace, and tag can be None if not present.
|
|
69
|
+
If the image string is invalid, return None.
|
|
70
|
+
|
|
71
|
+
"""
|
|
72
|
+
image_reg, image_ns, image_repo, image_tag = (
|
|
73
|
+
None,
|
|
74
|
+
None,
|
|
75
|
+
None,
|
|
76
|
+
None,
|
|
77
|
+
)
|
|
78
|
+
image_rest = image.strip()
|
|
79
|
+
|
|
80
|
+
# Get tag.
|
|
81
|
+
image_rest, image_tag = split_image(image_rest, fill_blank_tag=fill_blank_tag)
|
|
82
|
+
if not image_rest:
|
|
83
|
+
return None
|
|
84
|
+
|
|
85
|
+
# Get repository.
|
|
86
|
+
parts = image_rest.rsplit("/", maxsplit=1)
|
|
87
|
+
if len(parts) == 2:
|
|
88
|
+
image_rest, image_repo = parts
|
|
89
|
+
else:
|
|
90
|
+
image_rest, image_repo = None, image_rest
|
|
91
|
+
|
|
92
|
+
# Get namespace.
|
|
93
|
+
if image_rest:
|
|
94
|
+
parts = image_rest.rsplit("/", maxsplit=1)
|
|
95
|
+
if len(parts) == 2:
|
|
96
|
+
image_reg, image_ns = parts
|
|
97
|
+
else:
|
|
98
|
+
image_reg, image_ns = None, image_rest
|
|
99
|
+
|
|
100
|
+
return image_reg, image_ns, image_repo, image_tag
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def replace_image_with(
|
|
104
|
+
image: str,
|
|
105
|
+
registry: str | None = None,
|
|
106
|
+
namespace: str | None = None,
|
|
107
|
+
repository: str | None = None,
|
|
108
|
+
) -> str:
|
|
109
|
+
"""
|
|
110
|
+
Replace the registry, namespace, and repository of a Docker image string.
|
|
111
|
+
|
|
112
|
+
The given image string is parsed into its components (registry, namespace, repository, tag),
|
|
113
|
+
and the specified components are replaced with the provided values.
|
|
114
|
+
|
|
115
|
+
The format of a Docker image string is:
|
|
116
|
+
[registry/][namespace/]repository[:tag|@digest]
|
|
117
|
+
|
|
118
|
+
Args:
|
|
119
|
+
image:
|
|
120
|
+
The original Docker image string.
|
|
121
|
+
registry:
|
|
122
|
+
The new registry to use. If None, keep the original registry.
|
|
123
|
+
namespace:
|
|
124
|
+
The new namespace to use. If None, keep the original namespace.
|
|
125
|
+
repository:
|
|
126
|
+
The new repository to use. If None, keep the original repository.
|
|
127
|
+
|
|
128
|
+
Returns:
|
|
129
|
+
The modified Docker image string.
|
|
130
|
+
|
|
131
|
+
"""
|
|
132
|
+
if not image or (not registry and not namespace and not repository):
|
|
133
|
+
return image
|
|
134
|
+
|
|
135
|
+
registry = registry.strip() if registry else None
|
|
136
|
+
namespace = namespace.strip() if namespace else None
|
|
137
|
+
repository = repository.strip() if repository else None
|
|
138
|
+
|
|
139
|
+
image_reg, image_ns, image_repo, image_tag = parse_image(image)
|
|
140
|
+
|
|
141
|
+
registry = registry or image_reg
|
|
142
|
+
namespace = namespace or image_ns
|
|
143
|
+
repository = repository or image_repo
|
|
144
|
+
|
|
145
|
+
image_name = ""
|
|
146
|
+
if registry:
|
|
147
|
+
image_name += f"{registry}/"
|
|
148
|
+
if namespace:
|
|
149
|
+
image_name += f"{namespace}/"
|
|
150
|
+
elif registry:
|
|
151
|
+
image_name += "library/"
|
|
152
|
+
image_name += repository
|
|
153
|
+
|
|
154
|
+
image = merge_image(image_name, image_tag)
|
|
155
|
+
return image
|
|
@@ -27,8 +27,8 @@ version_tuple: VERSION_TUPLE
|
|
|
27
27
|
__commit_id__: COMMIT_ID
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
|
|
30
|
-
__version__ = version = '0.1.
|
|
31
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
30
|
+
__version__ = version = '0.1.24.post1'
|
|
31
|
+
__version_tuple__ = version_tuple = (0, 1, 24, 'post1')
|
|
32
32
|
try:
|
|
33
33
|
from ._version_appendix import git_commit
|
|
34
34
|
__commit_id__ = commit_id = git_commit
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
git_commit = "ed41ee9"
|
{gpustack_runner-0.1.23.post5 → gpustack_runner-0.1.24.post1}/gpustack_runner/cmds/__init__.py
RENAMED
|
@@ -4,6 +4,7 @@ from .images import (
|
|
|
4
4
|
CompareImagesSubCommand,
|
|
5
5
|
CopyImagesSubCommand,
|
|
6
6
|
ListImagesSubCommand,
|
|
7
|
+
LoadImagesSubCommand,
|
|
7
8
|
PlatformedImage,
|
|
8
9
|
SaveImagesSubCommand,
|
|
9
10
|
append_images,
|
|
@@ -14,6 +15,7 @@ __all__ = [
|
|
|
14
15
|
"CompareImagesSubCommand",
|
|
15
16
|
"CopyImagesSubCommand",
|
|
16
17
|
"ListImagesSubCommand",
|
|
18
|
+
"LoadImagesSubCommand",
|
|
17
19
|
"PlatformedImage",
|
|
18
20
|
"SaveImagesSubCommand",
|
|
19
21
|
"append_images",
|