【OpenVINO】解决OpenVINO在GPU推理中报错的方法
1. 问题描述
使用OpenVINO进行深度学习推理时,通常会借助GPU以提升计算速度。然而,有时候运行程序时候会出现如下错误:
<kernel>:8153:2: error: expected identifier or '('unroll_for (int i = 0; i < TILE_SIZE; ++i) {^
<kernel>:17:56: note: expanded from macro 'unroll_for'
....
<kernel>:8242:2: error: expected identifier or '('unroll_for (int i = 0; i < X_REMAINDER_SIZE; ++i) {^
<kernel>:17:56: note: expanded from macro 'unroll_for'
....
terminate called after throwing an instance of 'InferenceEngine::GeneralError'what(): [ GENERAL_ERROR ] Check 'false' failed at src/plugins/intel_gpu/src/plugin/program_builder.cpp:179:
[GPU] ProgramBuilder build failed!
Program build failed(0_part_11): You may enable OCL source dump to see the error log。
我的系统版本为Ubuntu 20.04,内核版本5.15.0-101-generic。
2. 解决方法
https://github.com/openvinotoolkit/openvino/issues/18452给出了解决问题的方法是安装Intel核芯显卡的驱动程序。对于我的系统与内核版本,可以安装23.09.25812.14版本的驱动。
下面是具体的步骤(参考https://github.com/intel/compute-runtime/releases?page=2):
步骤一:创建临时目录并下载相关软件包
在终端中执行以下命令:
mkdir neo
cd neo
wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.13463.18/intel-igc-core_1.0.13463.18_amd64.deb
wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.13463.18/intel-igc-opencl_1.0.13463.18_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/23.09.25812.14/intel-level-zero-gpu-dbgsym_1.3.25812.14_amd64.ddeb
wget https://github.com/intel/compute-runtime/releases/download/23.09.25812.14/intel-level-zero-gpu_1.3.25812.14_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/23.09.25812.14/intel-opencl-icd-dbgsym_23.09.25812.14_amd64.ddeb
wget https://github.com/intel/compute-runtime/releases/download/23.09.25812.14/intel-opencl-icd_23.09.25812.14_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/23.09.25812.14/libigdgmm12_22.3.0_amd64.deb
步骤二:验证软件包的完整性
下载相应的 *.sum 文件,并执行以下命令进行验证:
wget https://github.com/intel/compute-runtime/releases/download/23.09.25812.14/ww09.sum
sha256sum -c ww09.sum
确保输出中所有软件包的校验和都匹配。
步骤三:安装软件包
sudo安装软件包:
sudo dpkg -i *.deb
可以通过
clinfo -l
查看是否能够打印出Intel UHD Graphics。若有,则说明iGPU成功被驱动。
再次运行程序,已经可以正常使用GPU进行神经网络推理。
相关文章:
【OpenVINO】解决OpenVINO在GPU推理中报错的方法
1. 问题描述 使用OpenVINO进行深度学习推理时,通常会借助GPU以提升计算速度。然而,有时候运行程序时候会出现如下错误: <kernel>:8153:2: error: expected identifier or (unroll_for (int i 0; i < TILE_SIZE; i) {^ <kernel…...
AES加密的中文乱码与Java默认编码
0. 背景 win11环境下 java8 idea 开发的项目接口有加密需求,暂时使用AES完成,AES工具类代码如下 public static String aesEncrypt(String content, String key) throws Exception {//指定加密算法Cipher cipher Cipher.getInstance("AES");//创建加密规则&#…...
Node.js笔记 (二)浏览器和服务器
Ajax Ajax是什么 全称:Asynchronous Javascript And Xml. 用javascript执行异步网络请求,可以说是定义了一种编程行为/习惯。 通信双方:浏览器 和 服务器 特点:异步,所以可以在异步请求服务器,在不刷新页…...
面试经典-32-判断子序列
题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列…...
windows使用知识
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言windows使用知识 一、cmd鼠标选中后,程序不运行的解决方案总结 前言 提示:这里可以添加本文要记录的大概内容: windows使用…...
用python如何实现智能合约?如何使用remix编写solidity智能合约并部署上链
目录 用python如何实现智能合约? 直接展示下成功界面 下面分步骤说: remix代码 python链接remix代码...
Electron窗口管理详解:使用BrowserWindow API打造个性化界面
Electron窗口管理详解:使用BrowserWindow API打造个性化界面 创建和初始化窗口窗口定制化窗口操作与事件监听多窗口管理和工作区布局结语 在当今跨平台桌面应用开发领域,Electron 凭借其 JavaScript 与 HTML5 技术栈结合原生操作系统 API 的能力…...
19---时钟电路设计
视频链接 时钟硬件电路设计01_哔哩哔哩_bilibili 时钟电路设计 晶振是数字电路的心脏,数字电路需要一个稳定的工作时钟信号,时钟电路至关重要! 1、晶振概述 晶振一般指晶体振荡器。晶体振荡器是指从一块石英晶体上按一定方位角切下薄片&…...
PSNR/SSIM/LPIPS图像质量评估三件套(含代码)
在图像质量评估上,有三个重要指标:PSNR,SSIM,LPIPS。本文提供简易脚本分别实现。 PSNR,峰值信噪比,是基于MSE的像素比较低质量评估,一般30dB以上质量就不错,到40dB以上肉眼就很难分…...
20240318uniapp怎么引用组件
在script中增加 import index from "/pages/index/index.vue" 把index直接整个作为一个组件引入 然后注册组件 在export default中增加 components: {index:index }, 注册了index组件,内容为import的index 然后就可以在template里使用 <index&…...
扩展以太网(数据链路层)
目录 一、在物理层扩展以太网 二、在数据链路层扩展以太网 三、以太网交换机的特点 四、以太网交换机的交换方式 五、以太网交换机的自学习功能 六、小结 一、在物理层扩展以太网 使用光纤扩展: • 主机使用光纤(通常是一对光纤)和…...
每日一练 | 华为认证真题练习Day202
1、在组播网络环境中,如果IGMPv2主机和IGMP V1路由器(以下简称版本2主机和版本1路由器)共同处于同一局域网当中,那他们是如何协同工作的?(多选) A. 版本1路由器把IGMPv2报告看作无效的IGMP信息…...
基于python+vue的幼儿园管理系统flask-django-php-nodejs
随着信息时代的来临,过去的传统管理方式缺点逐渐暴露,对过去的传统管理方式的缺点进行分析,采取计算机方式构建幼儿园管理系统。本文通过课题背景、课题目的及意义相关技术,提出了一种活动信息、课程信息、菜谱信息、通知公告、家…...
【java】java环境变量分类
测试代码: public class TestSys {public static void main(String[] args) {/*** 获取所有的系统环境变量*/Map<String, String> map System.getenv();map.forEach((key, value) -> System.out.printf("env:key:%s->value:%s%n"…...
掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)
通道(Channel)是用来在 Go 程序中传递数据的一种数据结构。它是一种类型安全的、并发安全的、阻塞式的数据传输方式,用于在不同的 Go 协程之间传递消息。 基本概念 创建通道:使用make()函数创建一个通道。 ch : make(chan int)…...
JavaSE(上)-Day9
JavaSE(上)-Day9 集合static静态变量静态方法静态方法的注意事项重新认识main方法 继承继承注意事项子类到底能继承父类哪些内容继承中成员变量和成员方法的访问特点重写构造方法的访问特点this & super 集合 因为数组是不可变的,我们在…...
Java 内存模型概述
Java 内存区域 引言: 在并发编程中,需要解决两个问题:线程之间如何通信和线程之间如何同步 通信是指线程之间以何种机制来交换信息 在命令式编程中,通信机制主要分为两种:共享内存和消息传递 Java 的并发采用的是…...
远程桌面安卓版下载 安卓远程控制免费版
远程桌面安卓版下载与安卓远程控制免费版的应用解析 随着移动互联网的快速发展,远程桌面应用逐渐成为了许多用户、特别是技术爱好者和商务人士的必备工具。它们不仅可以在电脑上实现远程控制,还能将这种功能延伸到移动设备上,如安卓手机和平…...
算法打卡day18|二叉树篇07|Leetcode 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先
算法题 Leetcode 530.二叉搜索树的最小绝对差 题目链接:530.二叉搜索树的最小绝对差 大佬视频讲解:二叉搜索树的最小绝对差视频讲解 个人思路 因为是在二叉搜索树求绝对差,而二叉搜索树是有序的,那就把它想成在一个有序数组上求最值&…...
MySQL 中的自增ID及其应用场景
在MySQL中,自增ID主要体现在几种不同的场景下,每种自增ID都有其特定用途和行为特征: 1. Auto-Increment ID (PRIMARY KEY AUTO_INCREMENT) 场景:在创建表时,可以为某个整数字段设置AUTO_INCREMENT属性,生成…...
Win10 + Bindiff 6.0 + IDA 7.5 环境配置与实战对比指南
1. 环境准备:Win10下的基础配置 在开始二进制分析之前,我们需要先搭建好基础环境。我推荐使用Win10 64位系统作为工作平台,因为它在兼容性和稳定性方面表现都很不错。记得关闭杀毒软件的实时防护功能,避免误报导致安装失败。我自己…...
PX4混控器加载流程与多旋翼输出实现剖析
1. PX4混控器的作用与基本概念 混控器在PX4飞控系统中扮演着关键角色,它负责将飞行控制器计算出的姿态控制指令(如滚转、俯仰、偏航力矩)转换为实际电机或舵机的输出信号。简单来说,就像汽车的方向盘和油门需要通过传动系统转换为…...
CTF系列--WP--靶机16--flick
WP Flick 1(1).pdfhttps://www.yuque.com/attachments/yuque/0/2026/pdf/64604138/1774599785497-5449f6c0-7b7a-42cf-b308-9694ce33c363.pdf 此WP中我只看懂了部分,小白新手可以看笔者的,若是大佬们感觉我写的过于简单,可以去看这个WP。同时…...
Linux 的 pwd 命令
Linux 的 pwd 命令详解 pwd(Print Working Directory)是 Linux 和 Unix 系统中一个基本但非常重要的命令,用于显示当前工作目录的完整路径。 基本用法 最简单的使用方式是直接在终端输入: pwd命令执行后会输出当前所在目录的绝…...
FRED应用:LED手电筒模拟
对于大多数应用,发光二极管,或者LED,近几年已经超越了白炽灯光源。LED的优势包括体积小巧、发光效率高和使用寿命长。LED也有光学工程师必须处理的不良特性,比如混色和准直的需要。在这个例子中,我们来看一个LED手电筒…...
AI硬件洗牌,录音笔逆势升温!谁能在这场竞争中脱颖而出?
AI硬件洗牌,录音笔逆势升温 过去两年,AI硬件赛道经历了残酷洗牌。AI Pin退场,Rabbit R1口碑崩塌,“AI原生硬件”概念光环不再。然而,AI录音笔这一略显传统的品类却悄然升温。2025年,字节跳动旗下飞书联合安…...
Apollo自定义场景(scenarios)并仿真
需求:给定一个包含自定义路径和若干障碍物的场景并在Apollo DreamView+仿真环境中仿真预测规划效果。 思路:生成apollo DreamView需要的场景配置文件,Apollo DreamView+进入PnC->Scenario_Sim中进行加载仿真。 开发环境:Apollo 11.0、Vmware Workstation 16 Pro、Ubun…...
Spring AI Alibaba 快速开始:5分钟跑通第一个应用
Spring AI Alibaba 快速开始:5分钟用智谱 GLM 跑通第一个聊天应用 题外话 最近因为有功能有上线,这几天都忙着在整理投产资料。属实是更新不动了,当然还有一个原因就是之前发库存发的太爽了,现在地主家也没有余粮了。之前学完sp…...
Linux性能优化之内存管理基础知识
写在前面 本文看下Linux内存管理相关基础内容。 1:linux是如何管理的内存的? 我们平时所说的内存多大的内存,指的是物理内存,物理上就是一个内存条:物理内存,也叫主存,现在的主存一般是动态随机…...
从台球碰撞到火箭发射:用Python模拟动量守恒定律的5个趣味案例
从台球碰撞到火箭发射:用Python模拟动量守恒定律的5个趣味案例 物理学中的动量守恒定律看似抽象,但通过编程模拟,我们可以直观地观察这一原理在各类场景中的应用。本文将带你用Python实现5个经典案例,从台球碰撞到火箭发射&#x…...
