intel advisor安装与使用

news2024/11/24 8:00:01

前言

没有搜到相关教程,所以自己写一篇,如有不足请指正

安装

建议直接安装完整工具包

Intel® oneAPI Base Toolkit

注意先安这个
https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html
linux指令

wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/992857b9-624c-45de-9701-f6445d845359/l_BaseKit_p_2023.2.0.49397_offline.sh

sudo sh ./l_BaseKit_p_2023.2.0.49397_offline.sh

Intel® oneAPI HPC Toolkit

https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html

wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/0722521a-34b5-4c41-af3f-d5d14e88248d/l_HPCKit_p_2023.2.0.49440_offline.sh

sudo sh ./l_HPCKit_p_2023.2.0.49440_offline.sh

命令行

首先有一个可执行文件,可以先跑一下示例

项目地址

https://github.com/oneapi-src/oneAPI-samples/tree/master/DirectProgramming/C++/CombinationalLogic/MandelbrotOMP
把这个项目下载

配置环境

source /setvars.sh

在这里插入图片描述

以sudo 安装这个在/opt/intel/oneapi/下
把程序编译一下

cd MandelbrotOMP/ && make

程序分析

CPU到GPU建模

advisor --collect=offload --config=gen12_tgl --project-dir=./cpu2gpu_offload_modeling -- ./release/Mandelbrot 1

结果中会有这样几行
在这里插入图片描述意思就是建议把这段代码放到gpu运行,速度为18.83倍

GPU到GPU

advisor --collect=offload --gpu --accuracy=low --project-dir=./gpu2gpu_offload_modeling -- ./src/Mandelbrot

不同精度

默认是中等精度,可以加参数改low/high

--accuracy=low

查看结果

有两种方法

html

之前的分析会有这样一行:
在这里插入图片描述

可以在服务器执行,文件传回主机来查看
在这里插入图片描述

在这里插入图片描述

adviser图形界面

advisor-gui ./cpu2gpu_offload_modeling

在这里插入图片描述
可以查看具体建议卸载的源代码
在这里插入图片描述

图形界面直接分析

建议直接打开图形界面

创建一个工程

选择位置,输入名字
在这里插入图片描述

运行程序

在这里插入图片描述

比如还是运算卸载分析

在这里插入图片描述
主要关注下面几个参数

在这里插入图片描述注意这里可能需要选你使用的
在这里插入图片描述

点开始,就可以看到数据收集到分析的过程

在这里插入图片描述
中途可以暂停和取消,会分析已收集到的数据

注意运行时间过短收集不到数据,结果会为空

分析进程

在这里插入图片描述
适用于分析长期运行的程序,输入pid就会自动追踪,随时暂停分析程序运行中的性能

运算加速

以我的一个程序为例,一开始全在CPU运行
在这里插入图片描述

可以看到给出了一个建议,看一下具体代码

在这里插入图片描述
OK,那么我把这个循环卸载到GPU,然后再进行一次分析

在这里插入图片描述

可以看到没有建议卸载到GPU的了,就完成了程序的加速

当然这里主要介绍的是运算卸载,也可以进行其他评估

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

因为我没有intelGPU所以这一项没有输出

建议配合VTune使用,确实nice,两个工具现在都是免费的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/825773.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

让这些ai绘画神器为你打开创作灵感的大门

在一个小镇上,住着一位名为奥斯卡的艺术家。他的画作仿佛有生命般跃动,每一幅都散发着神秘的魔力。然而,奥斯卡却感到自己的创造力有些枯竭。他渴望找到一种新的灵感源泉,以挑战自己的创作瓶颈。这时,他听说了ai绘画生…

大数据与okcc呼叫中心融合的几种方式

在实际的生产实践中,为提高营销效率,避免骚扰大众,很多呼叫中心业务会与大数据平台进行合作,进行精准营销。 买卖数据是非法的,大数据平台方并不会提供直接的数据,一般情况下,提供的数据都是脱…

马上解锁 StarRocks 存算分离,降本增效无需等!

StarRocks 于 4 月底正式发布了 3.0 版本,该里程碑版本带来了大家期盼已久的新特性--存算分离。此新功能一推出,立即受到社区热情追捧,用户纷纷开始在自己的业务中评估和测试存算分离效果。从芒果TV、聚水潭、网易邮箱、浪潮、天道金科等数十…

【技巧】学术Poster的制作要点,详细!

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 内容零零散散均收集自网上,有点杂忘了引用。 内容技巧 https://posts.careerengine.us/p/5dac3e628c131b0541dd9171 展示内容包括(将信息分块) 可选择性删减,注意…

分享可以免费使用的5款好用小工具

​ 最近后台收到好多小伙伴的私信,今天继续推荐五款小工具,都是免费使用的,大家可以去试试看。 剪贴板管理器——ClipX ​ ClipX是一款微型剪贴板管理器,可以记录你复制的文本和图像,并让你随时通过快捷键或鼠标菜单…

git面试题

文章目录 git经常用哪些指令git出现代码冲突怎么解决你们团队是怎么管理git分支的如何实现Git的免密操作 git经常用哪些指令 产生代码库 新建一个git代码库 git init下载远程项目和它的整个代码历史 git clone 远程仓库地址配置 显示配置 git config --list [--global]编辑配置…

Python爬虫 从小白到高手 各种最新案例! request scrapy

Python爬虫 从小白到高手 各种最新案例! Urllib Xpath JsonPath BeautifulSoup requests 1.基本使用 1.官方文档: http://cn.python‐requests.org/zh_CN/latest/ 快速上手 http://cn.python‐requests.org/zh_CN/latest/user/quickstart.html 2.安装 pi…

数字运营、协同高效,为园区高质量发展插上“数字化”翅膀

园区,是产业集群的枢纽,是城市发展的基本要素。近年来,以大数据、人工智能、云计算等为代表的数字技术与城市的千行百业融合“发酵”,正在加速城市主体的智能升级。智慧园区作为数字化转型升级的一个缩影,上承智慧城市…

Rust dyn - 动态分发 trait 对象

dyn - 动态分发 trait 对象 dyn是关键字,用于指示一个类型是动态分发(dynamic dispatch),也就是说,它是通过trait object实现的。这意味着这个类型在编译期间不确定,只有在运行时才能确定。 practice tr…

阿里云ECS部署Mysql数据库

说明 首先需要到阿里云官方购买阿里云产品 ,如果有机会可以免费试用那会更好,跳过购买云服务步骤下面直接演示。 一、阿里云官网示意图 1.百度搜索 阿里云官方 2.点击控制台 3.展开更多 4. 选择云服务器ECS 5. 点击实例 可以看到服务器状态&#xff…

利用 USB 设备重定向实现无缝远程办公

随着当代工作环境的不断发展,对有效的、无缝的远程办公解决方案的需求日益增长。无论是创意人员、高级用户,还是游戏爱好者,能够随时随地工作或玩游戏都是一项显著优势。 但通常,这不仅需要能够远程访问工作站。创意人员和高级用…

Mybatis-Flex 是一个优雅的 Mybatis 增强框架

Mybatis-Flex 是一个优雅的 Mybatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper^亮点 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。 总而…

初识mysql数据库之MVCC机制与视图

目录 一、数据库的三种并发场景 二、 MVCC 1. 建立共识 2. MVCC的作用 3. MVCC的三个前置知识 3.1 3个记录隐藏列字段 3.2 undo日志(undo log) 4. 模拟MVCC 4.1 图示模拟状况 4.2 不同操作的历史版本链形成 5. 当前读与快照读 6. 为什么要有…

QT实现中英文键盘

使用Qt中实现中英文键盘,支持各种linux嵌入式设备。 实现思路:需要一个中文字体库,将字体库加载到一个Hash容器,字母和拼音作为key值,对应的中文作为value值。 核心代码: #include "UKeyBoard.h"…

出海新篇章:品牌规划方法与海外市场拓展

品牌出海规划是确保企业在国际市场上获得成功的关键步骤,它涉及到对目标市场的深入研究和了解,同时需要明确的策略和目标。本文Nox聚星将和大家探讨品牌出海规划的关键要素,为品牌出海提供一些建议和指导。 一、市场调研与定位 在品牌出海之…

C++基础篇 第七天 异常、智能指针、nullptr,auto

目录 异常 异常概念: C和C中异常的区别 异常处理 1. throw抛出异常 2. try...catch 进行异常处理 3.try...catch抛出自建类的异常 4.自建类的异常延伸 捕获的扩展 提高异常捕获的概率 智能指针 auto_ptr(已废弃,只做了解&#xf…

【工具使用】git基础操作1

目录 一.拉取git代码1.首次拉取命令2.使用图形化拉取代码3.Idea 开发工具拉取代码 二.查看当前状态1.查看在你上次提交之后是否有对文件进行再次修改 三.创建分支3.1.创建分支3.2.创建分支并切换至分支3.3.提交分支至远程仓 远程没有自动创建 四.查看分支4.1.查看本地分支 当前…

智慧园区项目:数字化引领城市转型

随着科技的迅猛发展,智慧园区项目正日益成为城市数字化转型的关键组成部分。这些智慧园区项目借助先进的技术,将传统的园区升级为智能化、数字化的生态系统,为城市的可持续发展和人们的生活质量带来了巨大的变革。 在智慧园区项目中&#xff…

别不信,这才是交换机组网的正确打开方式

下午好,我的网工朋友。 俱乐部更新交换机和路由器相关技术点一直是更新得非常勤快,懂的朋友都懂,毕竟知识点太多。这不,前两天刚说一篇。 之前我们聊过交换机的配置命令,选型关键,配置步骤,部…

C语言数组笔试题(详解)

目录 插入知识: 一.指向函数指针数组的指针 二.回调函数 什么是回调函数? 三.数组笔试题 个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生🐻‍❄个人主页:GOTXX &#x1f4…