针对Intel GPU,我将检查以下关键日志,这比检查NVIDIA日志更具针对性:
系统/clinfo.log
: 这是检查Intel
GPU计算能力(通过OpenCL)的最核心日志。如果这个文件显示有问题,那么上层应用基本不可能使用GPU进行AI计算。
系统/vainfo.log
: 这个日志用于检查Intel GPU的视频硬件加速能力。虽然不直接关系到AI计算,但也能反映驱动是否正常工作。
内置服务/gpu_verify.log
: 查看内置的GPU验证服务是否发现了Intel GPU并成功通过验证。
内置服务/ai_manager/com.trim.img2vec/app.log
: 查看图像识别服务(很可能是img2vec)在启动时是否有加载GPU设备失败并回退到CPU的记录。
现在,我将开始执行分析。
首先,我将检查最关键的 clinfo.log 文件。
╭──────────────────────────────╮
** ✔ ReadFile 系统\clinfo.log **
╰──────────────────────────────╯
✦ clinfo.log 的输出很有意思。它表明系统已经成功识别了Intel GPU:
- 平台 (Platform): Intel(R) OpenCL Graphics (已找到)
- 设备 (Device): Intel(R) UHD Graphics 600 (已找到)
- 设备可用 (Device Available): Yes
这说明底层的OpenCL驱动是正常工作的。这**了“驱动未安装”的初始猜想。
那么,既然驱动正常,为什么应用还是没用上GPU呢?问题很可能出在应用层面。
下一步,我们来看看系统内置的GPU验证服务 (gpu_verify.log
)
的报告。这会告诉我们,应用程序在尝试使用这个已被识别的GPU时,是否遇到了问题。我现在就来检查这个文件。
╭──────────────────────────────────────╮
** ✔ ReadFile 内置服务\gpu_verify.log **
╰──────────────────────────────────────╯
✦ gpu_verify.log 的内容很有启发性。
日志显示系统尝试执行了针对Intel GPU的检查:
1 [08 09:48:40.729] [warning] [92343] [PERF]Slow request, req id:d09549db7124760b, method:com.trim.gpu_verify.checkOpenvinoGpu,
cost:1231
- method:com.trim.gpu_verify.checkOpenvinoGpu: 这清楚地表明,验证程序正在调用 checkOpenvinoGpu 函数,这是专门用于检查Intel
GPU(通过OpenVINO工具套件)的正确流程。
- [warning] ... Slow request: 警告信息是“慢速请求”。这暗示检查过程可能没有顺利完成,或者超时了。关键在于,日志中没有出现验证成功的记录。
综合目前的信息:
- 底层驱动(OpenCL)是好的。
- 上层的GPU验证服务 (gpu_verify) 尝试去检查GPU,但过程缓慢且没有成功日志。
这让我们离真相更近了一步。现在,我们需要看一看最终执行图像识别的服务——img2vec——在启动时到底发生了什么。它的日志会直接告诉我们,它最终选
择了GPU还是CPU。
我将检查 内置服务/ai_manager/com.trim.img2vec/app.log。
╭────────────────────────────────────────────────╮
** ✔ ReadFile 内置服务\com.trim.img2vec\app.log **
╰────────────────────────────────────────────────╯
✦ 好的,img2vec/app.log 的内容为我们提供了最终的、决定性的答案。
结论:相册识别没有调用GPU,是因为 img2vec
服务被明确配置为仅使用CPU模式运行。
这不是一个硬件或驱动的“故障”,而是一个软件层面的“配置”问题。
证据如下,来自您提供的 img2vec/app.log 文件:
- 明确的设备配置:
1 [07-14 16:29:51.510] [info] device:CPU
日志的第一行就清楚地记录了服务启动时使用的设备是 CPU。
- 模型格式与路径:
1 [07-14 16:29:51.510] [info] model_format:ONNX
2 [07-14 16:29:51.510] [info] onnx_model:/vol1/@sysappmeta/ai-manager/models/img2vec-medium-model-1.0.0/img2vec.onnx服务被配置为加载一个 .onnx 格式的模型。ONNX是一个通用的模型格式,可以直接在CPU上运行。
- 缺失的OpenVINO配置:
1 [07-14 16:29:51.510] [info] openvino_model:
2 [07-14 16:29:51.510] [info] openvino_weights:
3 [07-14 16:29:51.510] [info] openvino_cache_dir:
这三行是关键中的关键。要让Intel
GPU执行AI计算,通常需要使用Intel的OpenVINO工具套件。这里的日志显示,所有与OpenVINO相关的配置项(模型路径、权重路径等)全部为空。
总结整个调查过程:
- 我们首先确认了系统底层驱动(OpenCL)正确识别了您的Intel UHD 600 GPU。
- 然后我们发现系统的GPU验证服务在检查时可能遇到了问题(慢速请求),暗示了配置层面的异常。
- 最后,img2vec 服务的日志证实,它被设置为加载一个通用的ONNX模型并在CPU上运行,完全没有配置和调用OpenVINO GPU加速路径。
因此,相册识别服务从设计上就被指定在CPU上工作。要启用GPU加速,需要修改该服务的配置,为其提供OpenVINO格式的模型和正确的设备参数(即,将
device:CPU 修改为指向GPU的配置)。