[错误] 在使用 VK_ERROR_DEVICE_LOST 的高通 Adreno GPU 上,WebLLM 引擎初始化失败
作者: opnsrcntrbtr创建于 2026年6月21日更新于 2026年7月25日
□ 总结 在运行Android的Qualcomm Adreno GPUs上,WebLLM引擎在第一次Vulkan队列提交时,以"VK ERROR DEVICE LOST"可靠地启动崩溃. 这个问题在阿德雷诺两代人之间可以复制,无论模型精度,大小或上下文窗口调取,都持续存在. Plain WebGPU 计算操作在同一设备上正确工作,隔离了WebLLM的阴影编译和内核执行路径的失败.
-- -- . . .
□ 环境细节
QQ 设备 1: 低端/ 老阿德雷诺
- Device模型:I2019
- Android版本:10
- GPU: Qualcomm Adreno 6xx
- 内存:4-6GB
- Chrome:稳定(版本~120+)
- ** 成果**:在WebLLM热身期间,`Device丢失了 ' 错误
QQ 设备 2: 中程/ 更新Adreno
- Device模型:A059(Snapdragon 7s Gen 3)
- Android版本:16
- GPU:Qualcomm Adreno 810(SM7635)
- 内存:~8GB
- Chrome:稳定(版本~149+)
- ** Result**: 在WebLLM热身过程中, `vkQuee Submit 与 VK ERROR DEVICE LOST' 错误
QQ WebLLM 细节
- ** Version**: mlc-ai/[email protected]'(测试时间最近)
- ** Backend**:Vulkan通过Dawn(Chrome的WebGPU执行)
- GPU 特性支持: 两种设备都报告“shader-f16”特性可用
-- -- . . .
□ 问题描述
WebLLM引擎初始化("CreateMLCENGine")在Adreno GPUs上热身阶段持续失败. 失败发生在** 产生任何推论符号** 之前,特别是在以下期间:
- 编译
- GPU设备/排队设置
- 第一次计算内核发送
GPU设备已丢失(被Vulkan驱动程序验证),使得WebGPU上下文处于无法使用状态.
-- -- . . .
□ 复制步骤
QQ 设置
- 有Qualcomm Adreno GPU的Android设备(测试:Adreno 6xx,Adreno 810)
- Chrome (稳定通道,v120+)
- WebLLM图书馆(`@mlc-ai/[email protected]')
- 任何WebLLM型号(测试时间:`Qwen2.5-0.5B-Instruct-q4f16 1-MLC',"LLaMA-3.2-1B-Instruct-q4f16 1-MLC",均为q4f16和q4f32)
步骤
- 验证 WebGPU 可用:`navigator.gpu. requestAdapter ()'返回非null
- 从WebLLM目录中调用“CreateMLCENGine(模式Id)”的型号
- 发动机初始化期间的观测故障(在 " 保证完成() " 之前)
• 预期行为
- 引擎成功初始化
- 推论在没有网络入侵的情况下在当地运行
- 模型重量下载一次并缓存
实际行为
- 引擎初始化抛出错误
- GPU 设备丢失
- 不重新装入整页就无法恢复
-- -- . . .
□ 错误信件和调试日志
QQ 设备 1( Adreno 6xx / Android 10)
密码生成器 :1 有效的外部实例引用已不存在 。
(原始内容存档于2019-10-12). webllm-vendor-BLCHCT2.js: 1 设备丢失 。 可能是因为内存不足
或其他GPU限制。 详细错误: [对象 GPUDevice LostInfo].
请尝试重新装入WebLLM,使用资源密集度较低的模型.全堆栈跟踪显示在引擎设置时“ 重装Internal () ” 失败 。
XQ设备 2 (Adreno 810 /) . . . . . . .
内容来源: mlc-ai/web-llm