gpustack-runtime 0.1.41.post1__tar.gz → 0.1.41.post3__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_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/PKG-INFO +3 -3
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/buf.gen.yaml +1 -1
- gpustack_runtime-0.1.41.post3/buf.yaml +5 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/_version.py +2 -2
- gpustack_runtime-0.1.41.post3/gpustack_runtime/_version_appendix.py +1 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/k8s/deviceplugin/__init__.py +21 -2
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/k8s/deviceplugin/plugin.py +3 -11
- gpustack_runtime-0.1.41.post3/gpustack_runtime/deployer/k8s/types/kubelet/deviceplugin/v1beta1/api_pb2.py +1129 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/kuberentes.py +4 -20
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/pyproject.toml +3 -2
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/uv.lock +12 -13
- gpustack_runtime-0.1.41.post1/buf.yaml +0 -3
- gpustack_runtime-0.1.41.post1/gpustack_runtime/_version_appendix.py +0 -1
- gpustack_runtime-0.1.41.post1/gpustack_runtime/deployer/k8s/types/kubelet/deviceplugin/v1beta1/api_pb2.py +0 -86
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/.codespelldict +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/.codespellrc +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/.dockerignore +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/.gitattributes +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/.gitignore +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/.pre-commit-config.yaml +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/.python-version +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/LICENSE +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/Makefile +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/README.md +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/buf.lock +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/deploy/manifests/docker-compose.yaml +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/deploy/manifests/kubernetes.yaml +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/docs/index.md +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/docs/modules/gpustack_runtime.deployer.md +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/docs/modules/gpustack_runtime.detector.md +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/docs/modules/gpustack_runtime.md +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/__main__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/_version.pyi +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/cmds/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/cmds/__types__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/cmds/deployer.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/cmds/detector.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/cmds/images.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/__patches__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/__types__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/__utils__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/cdi/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/cdi/__types__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/cdi/__utils__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/cdi/amd.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/cdi/ascend.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/cdi/hygon.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/cdi/iluvatar.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/cdi/metax.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/cdi/thead.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/docker.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/k8s/deviceplugin/__types__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/k8s/types/kubelet/deviceplugin/v1beta1/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/k8s/types/kubelet/deviceplugin/v1beta1/api.proto +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/k8s/types/kubelet/deviceplugin/v1beta1/api_pb2.pyi +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/k8s/types/kubelet/deviceplugin/v1beta1/api_pb2_grpc.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/k8s/types/kubelet/deviceplugin/v1beta1/constants.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/deployer/podman.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/__types__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/__utils__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/amd.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/ascend.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/cambricon.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/hygon.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/iluvatar.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/metax.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/mthreads.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/nvidia.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pyacl/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pyamdgpu/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pyamdsmi/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pycuda/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pydcmi/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pyhgml/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pyhgml/libhgml.so +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pyhgml/libuki.so +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pyhsa/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pyixml/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pymxsml/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pyrocmcore/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/pyrocmsmi/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/detector/thead.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/envs.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/logging.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/hatch.toml +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/mkdocs.yml +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/pack/Dockerfile +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/pack/Dockerfile.dummy +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/pytest.ini +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/ruff.toml +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/deployer/fixtures/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/deployer/fixtures/test_compare_versions.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/deployer/fixtures/test_correct_runner_image.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/deployer/fixtures/test_load_yaml_or_json.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/deployer/fixtures/test_load_yaml_or_json_multiple_jsons.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/deployer/fixtures/test_load_yaml_or_json_multiple_yamls.yaml +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/deployer/fixtures/test_load_yaml_or_json_single_json.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/deployer/fixtures/test_load_yaml_or_json_single_yaml.yaml +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/deployer/fixtures/test_nginx_entrypoint.sh +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/deployer/test_utils.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/fixtures/__init__.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/README.md +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_amd_mi300x.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_amd_mi308x.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_amd_rx7800xt.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_ascend_310p3.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_ascend_910b2.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_hygon_k100ai.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_metax_c500.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_nvidia_gb10.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_nvidia_h100.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_nvidia_h200.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_nvidia_rtx4080super.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_nvidia_rtx4090d.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_nvidia_rtx5090d.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/detect_output_thead_ppu.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_amd_mi300x.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_amd_mi308x.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_amd_rx7800xt.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_ascend_310p3.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_ascend_910b2.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_hygon_k100ai.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_metax_c500.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_mthreads_s5000.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_nvidia_h100.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_nvidia_h200.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_nvidia_rtx4080super.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_nvidia_rtx4090d.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_nvidia_rtx5090d.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/samples/topology_output_thead_ppu.json +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/test_amd.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/test_ascend.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/test_cambricon.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/test_hygon.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/test_iluvatar.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/test_metax.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/test_mthreads.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/tests/gpustack_runtime/detector/test_nvidia.py +0 -0
- {gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/uv.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gpustack-runtime
|
|
3
|
-
Version: 0.1.41.
|
|
3
|
+
Version: 0.1.41.post3
|
|
4
4
|
Summary: GPUStack Runtime is library for detecting GPU resources and launching GPU workloads.
|
|
5
5
|
Project-URL: Homepage, https://github.com/gpustack/runtime
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/gpustack/gpustack/issues
|
|
@@ -23,10 +23,10 @@ Requires-Dist: kubernetes>=33.1.0
|
|
|
23
23
|
Requires-Dist: mthreads-ml-py>=2.2.10
|
|
24
24
|
Requires-Dist: nvidia-ml-py>=13.580.65
|
|
25
25
|
Requires-Dist: podman==5.6.0
|
|
26
|
-
Requires-Dist: protobuf
|
|
26
|
+
Requires-Dist: protobuf<=3.19.6
|
|
27
27
|
Requires-Dist: pyyaml
|
|
28
28
|
Requires-Dist: tqdm
|
|
29
|
-
Requires-Dist: types-protobuf
|
|
29
|
+
Requires-Dist: types-protobuf<=5.28.3.20241203
|
|
30
30
|
Description-Content-Type: text/markdown
|
|
31
31
|
|
|
32
32
|
# GPUStack Runtime
|
{gpustack_runtime-0.1.41.post1 → gpustack_runtime-0.1.41.post3}/gpustack_runtime/_version.py
RENAMED
|
@@ -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.41.
|
|
31
|
-
__version_tuple__ = version_tuple = (0, 1, 41, '
|
|
30
|
+
__version__ = version = '0.1.41.post3'
|
|
31
|
+
__version_tuple__ = version_tuple = (0, 1, 41, 'post3')
|
|
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 = "3840255"
|
|
@@ -65,7 +65,7 @@ async def serve_async(
|
|
|
65
65
|
if not devices:
|
|
66
66
|
continue
|
|
67
67
|
|
|
68
|
-
allocation_policy =
|
|
68
|
+
allocation_policy = get_device_allocation_policy(manu)
|
|
69
69
|
logger.info(
|
|
70
70
|
"Using device allocation policy '%s' for manufacturer '%s'",
|
|
71
71
|
allocation_policy,
|
|
@@ -110,6 +110,7 @@ async def serve_async(
|
|
|
110
110
|
device=dev,
|
|
111
111
|
id_by="index" if manu == ManufacturerEnum.ASCEND else "uuid",
|
|
112
112
|
allocation_policy=allocation_policy,
|
|
113
|
+
max_allocations=envs.GPUSTACK_RUNTIME_KUBERNETES_KDP_PER_DEVICE_MAX_ALLOCATIONS,
|
|
113
114
|
),
|
|
114
115
|
)
|
|
115
116
|
|
|
@@ -276,7 +277,23 @@ def is_kubelet_socket_accessible(
|
|
|
276
277
|
|
|
277
278
|
|
|
278
279
|
@lru_cache
|
|
279
|
-
def
|
|
280
|
+
def get_resource_injection_policy() -> Literal["env", "kdp"]:
|
|
281
|
+
"""
|
|
282
|
+
Get the resource injection policy (in lowercase) for the deployer.
|
|
283
|
+
|
|
284
|
+
Returns:
|
|
285
|
+
The resource injection policy.
|
|
286
|
+
|
|
287
|
+
"""
|
|
288
|
+
policy = envs.GPUSTACK_RUNTIME_KUBERNETES_RESOURCE_INJECTION_POLICY.lower()
|
|
289
|
+
if policy != "auto":
|
|
290
|
+
return policy
|
|
291
|
+
|
|
292
|
+
return "kdp" if is_kubelet_socket_accessible() else "env"
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
@lru_cache
|
|
296
|
+
def get_device_allocation_policy(
|
|
280
297
|
manufacturer: ManufacturerEnum,
|
|
281
298
|
) -> Literal["env", "cdi", "opaque"]:
|
|
282
299
|
"""
|
|
@@ -319,6 +336,8 @@ def _get_device_allocation_policy(
|
|
|
319
336
|
|
|
320
337
|
__all__ = [
|
|
321
338
|
"cdi_kind_to_kdp_resource",
|
|
339
|
+
"get_device_allocation_policy",
|
|
340
|
+
"get_resource_injection_policy",
|
|
322
341
|
"is_kubelet_socket_accessible",
|
|
323
342
|
"serve",
|
|
324
343
|
"serve_async",
|
|
@@ -11,7 +11,6 @@ import grpc
|
|
|
11
11
|
from grpc_interceptor import AsyncServerInterceptor
|
|
12
12
|
from grpc_interceptor.exceptions import GrpcException
|
|
13
13
|
|
|
14
|
-
from .... import envs
|
|
15
14
|
from ....detector import Device, str_range_to_list
|
|
16
15
|
from ...cdi import (
|
|
17
16
|
generate_config,
|
|
@@ -135,7 +134,7 @@ class SharableDevicePlugin(PluginServer, DevicePluginServicer):
|
|
|
135
134
|
device: Device,
|
|
136
135
|
id_by: Literal["uuid", "index"] = "uuid",
|
|
137
136
|
allocation_policy: Literal["env", "cdi", "opaque"] = "cdi",
|
|
138
|
-
max_allocations: int | None =
|
|
137
|
+
max_allocations: int | None = 10,
|
|
139
138
|
):
|
|
140
139
|
"""
|
|
141
140
|
Initializes the SharableDevicePlugin.
|
|
@@ -150,18 +149,12 @@ class SharableDevicePlugin(PluginServer, DevicePluginServicer):
|
|
|
150
149
|
Controls the device allocation policy.
|
|
151
150
|
max_allocations:
|
|
152
151
|
Controls the maximum allocations per underlying device.
|
|
153
|
-
If None, uses the environment variable `GPUSTACK_RUNTIME_KUBERNETES_KDP_PER_DEVICE_MAX_ALLOCATIONS`.
|
|
154
152
|
|
|
155
153
|
"""
|
|
156
154
|
self._device = device
|
|
157
155
|
self._id_by = id_by
|
|
158
156
|
self._allocation_policy = allocation_policy
|
|
159
|
-
self._max_allocations = max_allocations
|
|
160
|
-
if not self._max_allocations:
|
|
161
|
-
self._max_allocations = (
|
|
162
|
-
envs.GPUSTACK_RUNTIME_KUBERNETES_KDP_PER_DEVICE_MAX_ALLOCATIONS
|
|
163
|
-
)
|
|
164
|
-
self._max_allocations = max(self._max_allocations, 1)
|
|
157
|
+
self._max_allocations = max(max_allocations, 1)
|
|
165
158
|
self._cdi_kind = manufacturer_to_cdi_kind(device.manufacturer)
|
|
166
159
|
self._runtime_env = manufacturer_to_runtime_env(device.manufacturer)
|
|
167
160
|
self._kdp_resource = cdi_kind_to_kdp_resource(
|
|
@@ -425,8 +418,7 @@ class SharableDevicePlugin(PluginServer, DevicePluginServicer):
|
|
|
425
418
|
self,
|
|
426
419
|
req: ContainerAllocateRequest,
|
|
427
420
|
) -> ContainerAllocateResponse:
|
|
428
|
-
policy =
|
|
429
|
-
|
|
421
|
+
policy = self._allocation_policy
|
|
430
422
|
request_dp_device_ids = req.devices_ids
|
|
431
423
|
|
|
432
424
|
# CDI device allocation.
|