directml不可用需升级驱动至≥472.12并启用directml后端:验证gpu型号与驱动版本,清洁安装新版nvidia驱动,配置ollama使用directml后端,替换onnxruntime_directml.dll,专业卡需切换tcc模式。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在Windows系统中部署Llama 3时遇到“DirectML不可用”报错,且日志明确提示显卡驱动版本过低,则说明当前驱动不满足DirectML运行所需的最低计算能力与API兼容性要求。以下是解决此问题的步骤:
一、验证显卡是否支持DirectML并确认驱动版本
DirectML要求NVIDIA GPU计算能力≥5.0(GTX 900系列起),且驱动版本必须≥472.12(Windows平台最低要求)。低于该版本将导致DirectML初始化失败,强制回退至CPU执行。
1、以管理员身份打开PowerShell,执行:nvidia-smi
2、检查输出中的Driver Version字段,若数值小于472.12,则需升级驱动。
3、同时确认GPU型号是否在DirectML支持列表内:GTX 9xx、GTX 10xx、RTX 20xx/30xx/40xx系列均支持;GT 7xx及更早型号不支持。
二、升级NVIDIA驱动至DirectML兼容版本
旧版驱动(如456.x、465.x)缺少DirectML所需的核心CUDA Graph与Tensor Core调度接口,必须升级至官方认证的DirectML就绪驱动。
1、访问https://www.nvidia.com/Download/index.aspx,手动选择您的GPU型号、操作系统(Windows 10/11)、语言。
2、在驱动类型中选择Game Ready Driver或Studio Driver(二者均含DirectML支持),版本号须≥472.12(推荐使用最新版,如536.67或更高)。
3、下载后运行安装程序,勾选“执行清洁安装”选项,确保旧驱动残留被彻底清除。
4、安装完成后重启系统,再次执行nvidia-smi确认驱动版本已更新。
三、强制启用DirectML后端并验证GPU识别
Llama 3在Windows下通过onnxruntime-directml或llama.cpp的directml分支调用GPU,需显式指定后端,否则默认使用CPU。
1、若使用ollama,编辑配置文件:C:Users\.ollamaconfig.json
2、将内容修改为:{"backend":"directml","device_id":0}
3、重启ollama服务(命令行执行:ollama serve)
4、运行模型时添加环境变量:set OLLAMA_BACKEND=directml,再执行ollama run llama3
5、观察启动日志,确认出现using device: directml而非cpu。
四、替换DirectML专用运行时库(适用于自定义构建场景)
当使用llama.cpp或onnxruntime源码编译Llama 3时,系统可能仍加载旧版onnxruntime.dll,导致DirectML后端无法激活。
1、从Microsoft官方GitHub仓库下载最新DirectML版ONNX Runtime:https://github.com/microsoft/onnxruntime/releases/tag/v1.18.0
2、解压后定位到lib ativewin-x64onnxruntime_directml.dll
3、将其复制覆盖至Llama 3部署目录下的onnxruntime.dll位置(如Ollama模型目录或llama.cpp/build/bin/)
4、确保同目录下存在D3D12.dll和dxgi.dll(Windows 10 1903+系统自带,若缺失请运行DISM /Online /Cleanup-Image /RestoreHealth修复)
五、禁用WDDM模式切换至TCC(仅限Tesla/Quadro/A100等专业卡)
NVIDIA专业级GPU在Windows下默认以WDDM模式运行,该模式限制DirectML对显存的独占访问,导致初始化失败。
1、以管理员身份运行CMD,执行:nvidia-smi -i 0 -dmoff(0为GPU索引,多卡请依次执行)
2、执行后需重启系统使TCC模式生效
3、重启后运行:nvidia-smi -q -d MEMORY,若输出中显示"Compute Mode: Default" → "Compute Mode: Exclusive_TCC",则切换成功
4、再次启动Llama 3,DirectML应可正常绑定GPU设备











