# bi_150-vllm

基于 `registry.iluvatar.com.cn:10443/customer/sz/vllm0.11.2-4.4.0-x86:v8` 的
`vLLM 0.16.1rc0` 构建仓库，用于在 BI-V150 虚拟机环境中生成可直接运行的镜像。

## 改动说明

本仓库只保留构建镜像所需的最小内容：

- `vllm/`
  当前运行代码
- `vllm-0.16.1rc0+corex.4.4.0.dist-info/`
  对应的包元数据
- `Dockerfile`
  构建最终镜像

与基础镜像相比，本仓库保留的关键代码改动如下：

- 在 `vllm/platforms/__init__.py` 中修复 CUDA 平台识别逻辑
- 当 NVML 不可用且出现 `NVML Shared Library Not Found` 一类错误时
  不再直接判定为非 CUDA 平台
- 改为回退到 `torch.cuda.is_available()` 和
  `torch.cuda.device_count()` 继续判断 CUDA 是否可用
- 调整 CLI 初始化逻辑，避免 benchmark 可选依赖缺失时阻塞
  `vllm serve ...` 启动

这个修复用于解决如下启动失败：

```text
RuntimeError: Failed to infer device type
```

## 构建镜像

在仓库根目录执行：

```bash
docker build -t bi_150_vllm:0.16.1 .
```

## 启动镜像

```bash
docker run -dit \
  --name iluvatar_test \
  -p 38047:8000 \
  --privileged \
  -v /lib/modules:/lib/modules \
  -v /dev:/dev \
  -v /usr/src:/usr/src \
  -v /mnt/gpfs/leaderboard/modelHubXC/Amu/t1-1.5B:/model \
  -e CUDA_VISIBLE_DEVICES=0 \
  --entrypoint vllm \
  bi_150_vllm:0.16.1 \
  serve /model \
  --port 8000 \
  --served-model-name llm \
  --max-model-len 2048 \
  --enforce-eager \
  --trust-remote-code \
  -tp 1
```
