@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / e6e3c55ef2
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 15, 16:00 UTC

Move dockerfiles into their own directory (#14549)

Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>

Harry Mellor committed Mar 31, 2025 at 21:47 UTC e6e3c55ef28f30bca855399419c61bb70af03db2
34 files changed +44 -42
.buildkite/release-pipeline.yaml
+6 -6
@@ -3,7 +3,7 @@ steps:
3 agents:
4 queue: cpu_queue_postmerge
5 commands:
6 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.4.0 --tag vllm-ci:build-image --target build --progress plain ."
6 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.4.0 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
7 - "mkdir artifacts"
8 - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
9 - "bash .buildkite/upload-wheels.sh"
@@ -14,7 +14,7 @@ steps:
14 agents:
15 queue: cpu_queue_postmerge
16 commands:
17 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.1.0 --tag vllm-ci:build-image --target build --progress plain ."
17 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.1.0 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
18 - "mkdir artifacts"
19 - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
20 - "bash .buildkite/upload-wheels.sh"
@@ -31,7 +31,7 @@ steps:
31 agents:
32 queue: cpu_queue_postmerge
33 commands:
34 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=11.8.0 --tag vllm-ci:build-image --target build --progress plain ."
34 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=11.8.0 --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
35 - "mkdir artifacts"
36 - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
37 - "bash .buildkite/upload-wheels.sh"
@@ -48,7 +48,7 @@ steps:
48 queue: cpu_queue_postmerge
49 commands:
50 - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
51 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.4.0 --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT --target vllm-openai --progress plain ."
51 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.4.0 --tag public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT --target vllm-openai --progress plain -f docker/Dockerfile ."
52 - "docker push public.ecr.aws/q9t5s3a7/vllm-release-repo:$BUILDKITE_COMMIT"
53
54 - label: "Build and publish TPU release image"
@@ -57,7 +57,7 @@ steps:
57 agents:
58 queue: tpu_queue_postmerge
59 commands:
60 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --tag vllm/vllm-tpu:nightly --tag vllm/vllm-tpu:$BUILDKITE_COMMIT --progress plain -f Dockerfile.tpu ."
60 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --tag vllm/vllm-tpu:nightly --tag vllm/vllm-tpu:$BUILDKITE_COMMIT --progress plain -f docker/Dockerfile.tpu ."
61 - "docker push vllm/vllm-tpu:nightly"
62 - "docker push vllm/vllm-tpu:$BUILDKITE_COMMIT"
63 plugins:
@@ -82,7 +82,7 @@ steps:
82 queue: cpu_queue_postmerge
83 commands:
84 - "aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/q9t5s3a7"
85 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --tag public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:$(buildkite-agent meta-data get release-version) --tag public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:latest --progress plain --target vllm-openai -f Dockerfile.cpu ."
85 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --tag public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:$(buildkite-agent meta-data get release-version) --tag public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:latest --progress plain --target vllm-openai -f docker/Dockerfile.cpu ."
86 - "docker push public.ecr.aws/q9t5s3a7/vllm-cpu-release-repo:$(buildkite-agent meta-data get release-version)"
87 env:
88 DOCKER_BUILDKIT: "1"
.buildkite/run-cpu-test-ppc64le.sh
+1 -1
@@ -10,5 +10,5 @@ trap remove_docker_container EXIT
10 remove_docker_container
11
12 # Try building the docker image
13 -docker build -t cpu-test -f Dockerfile.ppc64le .
13 +docker build -t cpu-test -f docker/Dockerfile.ppc64le .
14
.buildkite/run-cpu-test.sh
+2 -2
@@ -18,8 +18,8 @@ trap remove_docker_container EXIT
18 remove_docker_container
19
20 # Try building the docker image
21 -numactl -C "$CORE_RANGE" -N "$NUMA_NODE" docker build --tag cpu-test-"$BUILDKITE_BUILD_NUMBER" --target vllm-test -f Dockerfile.cpu .
22 -numactl -C "$CORE_RANGE" -N "$NUMA_NODE" docker build --build-arg VLLM_CPU_DISABLE_AVX512="true" --tag cpu-test-"$BUILDKITE_BUILD_NUMBER"-avx2 --target vllm-test -f Dockerfile.cpu .
21 +numactl -C "$CORE_RANGE" -N "$NUMA_NODE" docker build --tag cpu-test-"$BUILDKITE_BUILD_NUMBER" --target vllm-test -f docker/Dockerfile.cpu .
22 +numactl -C "$CORE_RANGE" -N "$NUMA_NODE" docker build --build-arg VLLM_CPU_DISABLE_AVX512="true" --tag cpu-test-"$BUILDKITE_BUILD_NUMBER"-avx2 --target vllm-test -f docker/Dockerfile.cpu .
23
24 # Run the image, setting --shm-size=4g for tensor parallel.
25 docker run -itd --entrypoint /bin/bash -v ~/.cache/huggingface:/root/.cache/huggingface --cpuset-cpus="$CORE_RANGE" \
.buildkite/run-gh200-test.sh
+1
@@ -9,6 +9,7 @@ python3 use_existing_torch.py
9
10 # Try building the docker image
11 DOCKER_BUILDKIT=1 docker build . \
12 + --file docker/Dockerfile \
13 --target vllm-openai \
14 --platform "linux/arm64" \
15 -t gh200-test \
.buildkite/run-hpu-test.sh
+1 -1
@@ -5,7 +5,7 @@
5 set -ex
6
7 # Try building the docker image
8 -docker build -t hpu-test-env -f Dockerfile.hpu .
8 +docker build -t hpu-test-env -f docker/Dockerfile.hpu .
9
10 # Setup cleanup
11 # certain versions of HPU software stack have a bug that can
.buildkite/run-neuron-test.sh
+1 -1
@@ -35,7 +35,7 @@ else
35 date "+%s" > /tmp/neuron-docker-build-timestamp
36 fi
37
38 -docker build -t "${image_name}" -f Dockerfile.neuron .
38 +docker build -t "${image_name}" -f docker/Dockerfile.neuron .
39
40 # Setup cleanup
41 remove_docker_container() {
.buildkite/run-tpu-v1-test.sh
+1 -1
@@ -3,7 +3,7 @@
3 set -e
4
5 # Build the docker image.
6 -docker build -f Dockerfile.tpu -t vllm-tpu .
6 +docker build -f docker/Dockerfile.tpu -t vllm-tpu .
7
8 # Set up cleanup.
9 remove_docker_container() { docker rm -f tpu-test || true; }
.buildkite/run-xpu-test.sh
+1 -1
@@ -8,7 +8,7 @@ image_name="xpu/vllm-ci:${BUILDKITE_COMMIT}"
8 container_name="xpu_${BUILDKITE_COMMIT}_$(tr -dc A-Za-z0-9 < /dev/urandom | head -c 10; echo)"
9
10 # Try building the docker image
11 -docker build -t ${image_name} -f Dockerfile.xpu .
11 +docker build -t ${image_name} -f docker/Dockerfile.xpu .
12
13 # Setup cleanup
14 remove_docker_container() {
.github/mergify.yml
+1 -1
@@ -19,7 +19,7 @@ pull_request_rules:
19 - files~=\.buildkite/
20 - files~=^cmake/
21 - files=CMakeLists.txt
22 - - files~=^Dockerfile
22 + - files~=^docker/Dockerfile
23 - files~=^requirements.*\.txt
24 - files=setup.py
25 actions:
.github/workflows/lint-and-deploy.yaml
+1 -1
@@ -50,7 +50,7 @@ jobs:
50 uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
51
52 - name: Build the Docker image vllm cpu
53 - run: docker buildx build -f Dockerfile.cpu -t vllm-cpu-env .
53 + run: docker buildx build -f docker/Dockerfile.cpu -t vllm-cpu-env .
54
55 - name: Configuration of docker images, network and namespace for the kind cluster
56 run: |
CMakeLists.txt
+1 -1
@@ -44,7 +44,7 @@ set(HIP_SUPPORTED_ARCHS "gfx906;gfx908;gfx90a;gfx942;gfx950;gfx1030;gfx1100;gfx1
44 #
45 # Note: the CUDA torch version is derived from pyproject.toml and various
46 # requirements.txt files and should be kept consistent. The ROCm torch
47 -# versions are derived from Dockerfile.rocm
47 +# versions are derived from docker/Dockerfile.rocm
48 #
49 set(TORCH_SUPPORTED_VERSION_CUDA "2.6.0")
50 set(TORCH_SUPPORTED_VERSION_ROCM "2.6.0")
docker/Dockerfile renamed
docker/Dockerfile.arm renamed
docker/Dockerfile.cpu renamed
docker/Dockerfile.hpu renamed
docker/Dockerfile.neuron renamed
docker/Dockerfile.ppc64le renamed
docker/Dockerfile.rocm renamed
docker/Dockerfile.rocm_base renamed
docker/Dockerfile.s390x renamed
docker/Dockerfile.tpu renamed
docker/Dockerfile.xpu renamed
docs/source/contributing/dockerfile/dockerfile.md
+3 -3
@@ -1,6 +1,6 @@
1 # Dockerfile
2
3 -We provide a <gh-file:Dockerfile> to construct the image for running an OpenAI compatible server with vLLM.
3 +We provide a <gh-file:docker/Dockerfile> to construct the image for running an OpenAI compatible server with vLLM.
4 More information about deploying with Docker can be found [here](#deployment-docker).
5
6 Below is a visual representation of the multi-stage Dockerfile. The build graph contains the following nodes:
@@ -28,7 +28,7 @@ The edges of the build graph represent:
28 > Commands to regenerate the build graph (make sure to run it **from the \`root\` directory of the vLLM repository** where the dockerfile is present):
29 >
30 > ```bash
31 - > dockerfilegraph -o png --legend --dpi 200 --max-label-length 50 --filename Dockerfile
31 + > dockerfilegraph -o png --legend --dpi 200 --max-label-length 50 --filename docker/Dockerfile
32 > ```
33 >
34 > or in case you want to run it directly with the docker image:
@@ -43,7 +43,7 @@ The edges of the build graph represent:
43 > --output png \
44 > --dpi 200 \
45 > --max-label-length 50 \
46 - > --filename Dockerfile \
46 + > --filename docker/Dockerfile \
47 > --legend
48 > ```
49 >
docs/source/contributing/overview.md
+1 -1
@@ -45,7 +45,7 @@ pytest tests/
45 ```
46
47 :::{tip}
48 -Since the <gh-file:Dockerfile> ships with Python 3.12, all tests in CI (except `mypy`) are run with Python 3.12.
48 +Since the <gh-file:docker/Dockerfile> ships with Python 3.12, all tests in CI (except `mypy`) are run with Python 3.12.
49
50 Therefore, we recommend developing with Python 3.12 to minimise the chance of your local environment clashing with our CI environment.
51 :::
docs/source/deployment/docker.md
+3 -2
@@ -61,11 +61,11 @@ RUN uv pip install --system git+https://github.com/huggingface/transformers.git
61
62 ## Building vLLM's Docker Image from Source
63
64 -You can build and run vLLM from source via the provided <gh-file:Dockerfile>. To build vLLM:
64 +You can build and run vLLM from source via the provided <gh-file:docker/Dockerfile>. To build vLLM:
65
66 ```console
67 # optionally specifies: --build-arg max_jobs=8 --build-arg nvcc_threads=2
68 -DOCKER_BUILDKIT=1 docker build . --target vllm-openai --tag vllm/vllm-openai
68 +DOCKER_BUILDKIT=1 docker build . --target vllm-openai --tag vllm/vllm-openai --file docker/Dockerfile
69 ```
70
71 :::{note}
@@ -92,6 +92,7 @@ Keep an eye on memory usage with parallel jobs as it can be substantial (see exa
92 # Example of building on Nvidia GH200 server. (Memory usage: ~15GB, Build time: ~1475s / ~25 min, Image size: 6.93GB)
93 $ python3 use_existing_torch.py
94 $ DOCKER_BUILDKIT=1 docker build . \
95 + --file docker/Dockerfile \
96 --target vllm-openai \
97 --platform "linux/arm64" \
98 -t vllm/vllm-gh200-openai:latest \
docs/source/deployment/nginx.md
+2 -2
@@ -69,14 +69,14 @@ server {
69
70 ```console
71 cd $vllm_root
72 -docker build -f Dockerfile . --tag vllm
72 +docker build -f docker/Dockerfile . --tag vllm
73 ```
74
75 If you are behind proxy, you can pass the proxy settings to the docker build command as shown below:
76
77 ```console
78 cd $vllm_root
79 -docker build -f Dockerfile . --tag vllm --build-arg http_proxy=$http_proxy --build-arg https_proxy=$https_proxy
79 +docker build -f docker/Dockerfile . --tag vllm --build-arg http_proxy=$http_proxy --build-arg https_proxy=$https_proxy
80 ```
81
82 (nginxloadbalancer-nginx-docker-network)=
docs/source/getting_started/installation/ai_accelerator/hpu-gaudi.inc.md
+1 -1
@@ -86,7 +86,7 @@ Currently, there are no pre-built Intel Gaudi images.
86 ### Build image from source
87
88 ```console
89 -docker build -f Dockerfile.hpu -t vllm-hpu-env .
89 +docker build -f docker/Dockerfile.hpu -t vllm-hpu-env .
90 docker run -it --runtime=habana -e HABANA_VISIBLE_DEVICES=all -e OMPI_MCA_btl_vader_single_copy_mechanism=none --cap-add=sys_nice --net=host --rm vllm-hpu-env
91 ```
92
docs/source/getting_started/installation/ai_accelerator/neuron.inc.md
+1 -1
@@ -132,7 +132,7 @@ Currently, there are no pre-built Neuron images.
132
133 See <project:#deployment-docker-build-image-from-source> for instructions on building the Docker image.
134
135 -Make sure to use <gh-file:Dockerfile.neuron> in place of the default Dockerfile.
135 +Make sure to use <gh-file:docker/Dockerfile.neuron> in place of the default Dockerfile.
136
137 ## Extra information
138
docs/source/getting_started/installation/ai_accelerator/tpu.inc.md
+2 -2
@@ -169,10 +169,10 @@ See <project:#deployment-docker-pre-built-image> for instructions on using the o
169
170 ### Build image from source
171
172 -You can use <gh-file:Dockerfile.tpu> to build a Docker image with TPU support.
172 +You can use <gh-file:docker/Dockerfile.tpu> to build a Docker image with TPU support.
173
174 ```console
175 -docker build -f Dockerfile.tpu -t vllm-tpu .
175 +docker build -f docker/Dockerfile.tpu -t vllm-tpu .
176 ```
177
178 Run the Docker image with the following command:
docs/source/getting_started/installation/cpu.md
+3 -3
@@ -177,7 +177,7 @@ Currently, there are no pre-built CPU wheels.
177 ### Build image from source
178
179 ```console
180 -$ docker build -f Dockerfile.cpu --tag vllm-cpu-env --target vllm-openai .
180 +$ docker build -f docker/Dockerfile.cpu --tag vllm-cpu-env --target vllm-openai .
181
182 # Launching OpenAI server
183 $ docker run --rm \
@@ -193,11 +193,11 @@ $ docker run --rm \
193 ```
194
195 ::::{tip}
196 -For ARM or Apple silicon, use `Dockerfile.arm`
196 +For ARM or Apple silicon, use `docker/Dockerfile.arm`
197 ::::
198
199 ::::{tip}
200 -For IBM Z (s390x), use `Dockerfile.s390x` and in `docker run` use flag `--dtype float`
200 +For IBM Z (s390x), use `docker/Dockerfile.s390x` and in `docker run` use flag `--dtype float`
201 ::::
202
203 ## Supported features
docs/source/getting_started/installation/gpu/rocm.inc.md
+7 -7
@@ -123,7 +123,7 @@ Building the Docker image from source is the recommended way to use vLLM with RO
123
124 #### (Optional) Build an image with ROCm software stack
125
126 -Build a docker image from <gh-file:Dockerfile.rocm_base> which setup ROCm software stack needed by the vLLM.
126 +Build a docker image from <gh-file:docker/Dockerfile.rocm_base> which setup ROCm software stack needed by the vLLM.
127 **This step is optional as this rocm_base image is usually prebuilt and store at [Docker Hub](https://hub.docker.com/r/rocm/vllm-dev) under tag `rocm/vllm-dev:base` to speed up user experience.**
128 If you choose to build this rocm_base image yourself, the steps are as follows.
129
@@ -140,12 +140,12 @@ It is important that the user kicks off the docker build using buildkit. Either
140 To build vllm on ROCm 6.3 for MI200 and MI300 series, you can use the default:
141
142 ```console
143 -DOCKER_BUILDKIT=1 docker build -f Dockerfile.rocm_base -t rocm/vllm-dev:base .
143 +DOCKER_BUILDKIT=1 docker build -f docker/Dockerfile.rocm_base -t rocm/vllm-dev:base .
144 ```
145
146 #### Build an image with vLLM
147
148 -First, build a docker image from <gh-file:Dockerfile.rocm> and launch a docker container from the image.
148 +First, build a docker image from <gh-file:docker/Dockerfile.rocm> and launch a docker container from the image.
149 It is important that the user kicks off the docker build using buildkit. Either the user put `DOCKER_BUILDKIT=1` as environment variable when calling docker build command, or the user needs to setup buildkit in the docker daemon configuration /etc/docker/daemon.json as follows and restart the daemon:
150
151 ```console
@@ -156,10 +156,10 @@ It is important that the user kicks off the docker build using buildkit. Either
156 }
157 ```
158
159 -<gh-file:Dockerfile.rocm> uses ROCm 6.3 by default, but also supports ROCm 5.7, 6.0, 6.1, and 6.2, in older vLLM branches.
159 +<gh-file:docker/Dockerfile.rocm> uses ROCm 6.3 by default, but also supports ROCm 5.7, 6.0, 6.1, and 6.2, in older vLLM branches.
160 It provides flexibility to customize the build of docker image using the following arguments:
161
162 -- `BASE_IMAGE`: specifies the base image used when running `docker build`. The default value `rocm/vllm-dev:base` is an image published and maintained by AMD. It is being built using <gh-file:Dockerfile.rocm_base>
162 +- `BASE_IMAGE`: specifies the base image used when running `docker build`. The default value `rocm/vllm-dev:base` is an image published and maintained by AMD. It is being built using <gh-file:docker/Dockerfile.rocm_base>
163 - `USE_CYTHON`: An option to run cython compilation on a subset of python files upon docker build
164 - `BUILD_RPD`: Include RocmProfileData profiling tool in the image
165 - `ARG_PYTORCH_ROCM_ARCH`: Allows to override the gfx architecture values from the base docker image
@@ -169,13 +169,13 @@ Their values can be passed in when running `docker build` with `--build-arg` opt
169 To build vllm on ROCm 6.3 for MI200 and MI300 series, you can use the default:
170
171 ```console
172 -DOCKER_BUILDKIT=1 docker build -f Dockerfile.rocm -t vllm-rocm .
172 +DOCKER_BUILDKIT=1 docker build -f docker/Dockerfile.rocm -t vllm-rocm .
173 ```
174
175 To build vllm on ROCm 6.3 for Radeon RX7900 series (gfx1100), you should pick the alternative base image:
176
177 ```console
178 -DOCKER_BUILDKIT=1 docker build --build-arg BASE_IMAGE="rocm/vllm-dev:navi_base" -f Dockerfile.rocm -t vllm-rocm .
178 +DOCKER_BUILDKIT=1 docker build --build-arg BASE_IMAGE="rocm/vllm-dev:navi_base" -f docker/Dockerfile.rocm -t vllm-rocm .
179 ```
180
181 To run the above docker image `vllm-rocm`, use the below command:
docs/source/getting_started/installation/gpu/xpu.inc.md
+1 -1
@@ -54,7 +54,7 @@ Currently, there are no pre-built XPU images.
54 ### Build image from source
55
56 ```console
57 -$ docker build -f Dockerfile.xpu -t vllm-xpu-env --shm-size=4g .
57 +$ docker build -f docker/Dockerfile.xpu -t vllm-xpu-env --shm-size=4g .
58 $ docker run -it \
59 --rm \
60 --network=host \
docs/source/getting_started/quickstart.md
+1 -1
@@ -208,5 +208,5 @@ Currently, vLLM supports multiple backends for efficient Attention computation a
208 If desired, you can also manually set the backend of your choice by configuring the environment variable `VLLM_ATTENTION_BACKEND` to one of the following options: `FLASH_ATTN`, `FLASHINFER` or `XFORMERS`.
209
210 ```{attention}
211 -There are no pre-built vllm wheels containing Flash Infer, so you must install it in your environment first. Refer to the [Flash Infer official docs](https://docs.flashinfer.ai/) or see [Dockerfile](https://github.com/vllm-project/vllm/blob/main/Dockerfile) for instructions on how to install it.
211 +There are no pre-built vllm wheels containing Flash Infer, so you must install it in your environment first. Refer to the [Flash Infer official docs](https://docs.flashinfer.ai/) or see <gh-file:docker/Dockerfile> for instructions on how to install it.
212 ```
vllm/config.py
+2 -2
@@ -317,8 +317,8 @@ class ModelConfig:
317 ) and backend == "FLASHINFER" and find_spec("flashinfer") is None:
318 raise ValueError(
319 "VLLM_ATTENTION_BACKEND is set to FLASHINFER, but flashinfer "
320 - "module was not found."
321 - "See https://github.com/vllm-project/vllm/blob/main/Dockerfile "
320 + "module was not found. See "
321 + "https://github.com/vllm-project/vllm/blob/main/docker/Dockerfile " # noqa: E501
322 "for instructions on how to install it.")
323
324 # The tokenizer version is consistent with the model version by default.