Skip to content

Commit 61b4e52

Browse files
saturley-hallziqifan617
authored andcommitted
fix: git lfs support is erratic with uv so set env var to force it (#3671)
Signed-off-by: Harrison Saturley-Hall <[email protected]>
1 parent bb981d9 commit 61b4e52

File tree

9 files changed

+32
-13
lines changed

9 files changed

+32
-13
lines changed

Earthfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ dynamo-base-docker:
159159
ENV VIRTUAL_ENV=/opt/dynamo/venv
160160
ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
161161

162-
RUN uv pip install -r /tmp/requirements.txt
162+
RUN UV_GIT_LFS=1 uv pip install -r /tmp/requirements.txt
163163

164164
# Copy and install wheels -- ai-dynamo-runtime first, then ai-dynamo
165165
COPY +dynamo-build/ai_dynamo_runtime*.whl /tmp/wheels/

benchmarks/profiler/utils/estimate_perf.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ def _get_model(self, **model_config_kwargs):
6666

6767
# NOTE: MOE models error out unless moe_tp_size and moe_ep_size are provided.
6868
model_config = aiconfigurator.sdk.config.ModelConfig(**model_config_kwargs)
69-
model = aiconfigurator.sdk.models.get_model(self.model_name, model_config)
69+
model = aiconfigurator.sdk.models.get_model(
70+
self.model_name, model_config, self.backend
71+
)
7072
return model
7173

7274
def estimate_perf(

benchmarks/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ classifiers = [
4040
]
4141

4242
dependencies = [
43-
"aiconfigurator==0.2.0",
43+
"aiconfigurator @ git+https://github.com/ai-dynamo/aiconfigurator.git@e46d9089ffe4f5dd62c46914489c55b6dfdbc903",
4444
"networkx",
4545
"pandas",
4646
"pydantic>=2",

container/Dockerfile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ RUN apt-get update -y \
116116
automake \
117117
cmake \
118118
git \
119+
git-lfs \
119120
libtool \
120121
meson \
121122
net-tools \
@@ -261,7 +262,10 @@ ENV VIRTUAL_ENV=/opt/dynamo/venv \
261262
# Install common and test dependencies
262263
RUN --mount=type=bind,source=./container/deps/requirements.txt,target=/tmp/requirements.txt \
263264
--mount=type=bind,source=./container/deps/requirements.test.txt,target=/tmp/requirements.test.txt \
264-
uv pip install --requirement /tmp/requirements.txt --requirement /tmp/requirements.test.txt
265+
UV_GIT_LFS=1 uv pip install \
266+
--no-cache \
267+
--requirement /tmp/requirements.txt \
268+
--requirement /tmp/requirements.test.txt
265269

266270
##################################
267271
##### Wheel Build Image ##########
@@ -382,7 +386,7 @@ RUN uv pip install \
382386
/opt/dynamo/wheelhouse/ai_dynamo*any.whl \
383387
/opt/dynamo/wheelhouse/nixl/nixl*.whl \
384388
&& cd /opt/dynamo/benchmarks \
385-
&& uv pip install . \
389+
&& UV_GIT_LFS=1 uv pip install --no-cache . \
386390
&& cd - \
387391
&& rm -rf /opt/dynamo/benchmarks
388392

container/Dockerfile.sglang

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ RUN apt-get update -y \
6565
python${PYTHON_VERSION}-dev \
6666
build-essential \
6767
git \
68+
git-lfs \
6869
# SGLang build dependencies
6970
cmake \
7071
ibverbs-providers \
@@ -149,6 +150,7 @@ RUN apt-get update && \
149150
# jq and curl for polling various endpoints and health checks
150151
jq \
151152
git \
153+
git-lfs \
152154
curl \
153155
# Libraries required by UCX to find RDMA devices
154156
libibverbs1 rdma-core ibverbs-utils libibumad3 \
@@ -206,14 +208,17 @@ RUN uv pip install \
206208
/opt/dynamo/wheelhouse/ai_dynamo*any.whl \
207209
/opt/dynamo/wheelhouse/nixl/nixl*.whl \
208210
&& cd /opt/dynamo/benchmarks \
209-
&& uv pip install . \
211+
&& UV_GIT_LFS=1 uv pip install --no-cache . \
210212
&& cd - \
211213
&& rm -rf /opt/dynamo/benchmarks
212214

213215
# Install common and test dependencies
214216
RUN --mount=type=bind,source=./container/deps/requirements.txt,target=/tmp/requirements.txt \
215217
--mount=type=bind,source=./container/deps/requirements.test.txt,target=/tmp/requirements.test.txt \
216-
uv pip install --requirement /tmp/requirements.txt --requirement /tmp/requirements.test.txt
218+
UV_GIT_LFS=1 uv pip install \
219+
--no-cache \
220+
--requirement /tmp/requirements.txt \
221+
--requirement /tmp/requirements.test.txt
217222

218223
# Copy launch banner
219224
RUN --mount=type=bind,source=./container/launch_message.txt,target=/workspace/launch_message.txt \

container/Dockerfile.trtllm

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ RUN apt-get update && \
7777
g++ \
7878
ninja-build \
7979
git \
80+
git-lfs \
8081
# Python runtime - CRITICAL for virtual environment to work
8182
python${PYTHON_VERSION}-dev \
8283
python3-pip \
@@ -242,14 +243,17 @@ RUN uv pip install \
242243
/opt/dynamo/wheelhouse/ai_dynamo*any.whl \
243244
/opt/dynamo/wheelhouse/nixl/nixl*.whl \
244245
&& cd /opt/dynamo/benchmarks \
245-
&& uv pip install . \
246+
&& UV_GIT_LFS=1 uv pip install --no-cache . \
246247
&& cd - \
247248
&& rm -rf /opt/dynamo/benchmarks
248249

249250
# Install common and test dependencies
250251
RUN --mount=type=bind,source=./container/deps/requirements.txt,target=/tmp/requirements.txt \
251252
--mount=type=bind,source=./container/deps/requirements.test.txt,target=/tmp/requirements.test.txt \
252-
uv pip install --requirement /tmp/requirements.txt --requirement /tmp/requirements.test.txt
253+
UV_GIT_LFS=1 uv pip install \
254+
--no-cache \
255+
--requirement /tmp/requirements.txt \
256+
--requirement /tmp/requirements.test.txt
253257

254258
# Copy UCX libraries, libucc.so is needed by pytorch. May not need to copy whole hpcx dir but only /opt/hpcx/ucc/
255259
COPY --from=framework /opt/hpcx /opt/hpcx

container/Dockerfile.vllm

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ RUN apt-get update && \
192192
# jq and curl for polling various endpoints and health checks
193193
jq \
194194
git \
195+
git-lfs \
195196
curl \
196197
# Libraries required by UCX to find RDMA devices
197198
libibverbs1 rdma-core ibverbs-utils libibumad3 \
@@ -257,14 +258,17 @@ RUN uv pip install \
257258
/opt/dynamo/wheelhouse/ai_dynamo*any.whl \
258259
/opt/dynamo/wheelhouse/nixl/nixl*.whl \
259260
&& cd /opt/dynamo/benchmarks \
260-
&& uv pip install . \
261+
&& UV_GIT_LFS=1 uv pip install --no-cache . \
261262
&& cd - \
262263
&& rm -rf /opt/dynamo/benchmarks
263264

264265
# Install common and test dependencies
265266
RUN --mount=type=bind,source=./container/deps/requirements.txt,target=/tmp/requirements.txt \
266267
--mount=type=bind,source=./container/deps/requirements.test.txt,target=/tmp/requirements.test.txt \
267-
uv pip install --requirement /tmp/requirements.txt --requirement /tmp/requirements.test.txt
268+
UV_GIT_LFS=1 uv pip install \
269+
--no-cache \
270+
--requirement /tmp/requirements.txt \
271+
--requirement /tmp/requirements.test.txt
268272

269273
# Copy benchmarks, examples, and tests for CI
270274
COPY . /workspace/

tests/planner/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This directory contains comprehensive testing tools for validating the SLA plann
1010
The SLA planner monitors metrics every 60 seconds (default adjustment interval) and scales
1111
prefill/decode workers based on TTFT, ITL, and request patterns.
1212

13-
To setup the environment, simply use the released docker images for any backends, or build your own docker image following the READMEs in `./components/backends/<vllm/sglang/trtllm>/README.md`, or follow the `Developing Locally` section in [README.md](../../README.md) to setup the environment locally. If using the local environment, make sure to install dependencies by running `uv pip install -r container/deps/requirements.txt`
13+
To setup the environment, simply use the released docker images for any backends, or build your own docker image following the READMEs in `./components/backends/<vllm/sglang/trtllm>/README.md`, or follow the `Developing Locally` section in [README.md](../../README.md) to setup the environment locally. If using the local environment, make sure to install dependencies by running `UV_GIT_LFS=1 uv pip install --no-cache -r container/deps/requirements.txt`
1414

1515
## Pre-Requisite: Pre-Deployment Profiling Data
1616

tests/profiler/test_profile_sla_aiconfigurator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ async def test_trtllm_aiconfigurator_single_model(self, trtllm_args):
9797
("trtllm", "1.0.0rc3"),
9898
],
9999
)
100-
@pytest.mark.parametrize("model_name", ["QWEN3_32B", "GPT_7B", "LLAMA3.1_405B"])
100+
@pytest.mark.parametrize("model_name", ["QWEN3_32B", "LLAMA3.1_405B"])
101101
async def test_trtllm_aiconfigurator_many(
102102
self, trtllm_args, model_name, backend, aic_backend_version
103103
):

0 commit comments

Comments
 (0)