• 欢迎光临~

intel advisor使用

开发技术 开发技术 2022-01-24 129次浏览

Intel Advisor

# 启动
>>> cd /opt/intel/oneapi/advisor/2021.3.0/bin64/
>>> advisor-gui

# 准备示例应用程序
>>> mkdir /root/advisor_demo
>>> cd advisor_demo
>>> cp /opt/intel/oneapi/advisor/latest/samples/en/C++/nqueens_Advisor.tgz  ./
>>> cd /root/advisor_demo
>>> tar -xzf nqueens_Advisor.tgz
>>> cd nqueens_Advisor
>>> make 1_nqueens_serial
>>> ./1_nqueens_serial

# 创建项目
File>New>Project. 在项目名称字段中输入nqueens_Advisor,选择应用实例程序的项目目录,点击创建。

# 选择热点分析
Survey Hotspots Analysis 

# Application 点击Brower
/root/advisor_demo/nqueens_Advisor/1_nqueens_serial

# 检查Suitability Analysis  and   Dependencies Analysis的Inherit settings from Survey Hotspots Analysis Type的勾选框勾选

# 点击Source Search
# 添加新的搜索路径
/root/advisor_demo/nqueens_Advisor
# 确保Search recurslvely的勾选框取消
# 点击ok创建项目
# 选择Threading,然后运行
# 运行后顶部窗口查看Survey & Roofline,底部窗口选择Top Down

# 添加并行站点和任务注释
>>> vi nqueens_serial.cpp
# 取消以下代码的注释
//#include <advisor-annotate.h>
//ANNOTATE_SITE_BEGIN(solve);
//ANNOTATE_ITERATION_TASK(setQueen);
//ANNOTATE_SITE_END();

# 重新构建目标
>>> make 1_nqueens_serial

# 点击Analysis Workflow下的Suitability生成实用性报告

# 运行依赖关系分析,在Survey & Roofline中的火图标列选择一个错误循环集
# 在左侧Analysis Workflow窗口中,选择下方的控件Dependencies,运行并产生一个以依赖为中心的细化报告
# 点击Dependencies Report下Problems and Messages出现的行数据

# 修复依赖关系
>>> vi nqueens_serial.cpp
1.取消注释ANNOTATE_LOCK_ACQUIRE(0)和ANNOTATE_LOCK_RELEASE(0)
2.注释掉循环外的数组声明 //queens[row]=col;
3.取消注释循环中的数组声明  int *queens = new int[size];
4.取消注释delete [] queens;循环内
5.注释delete [] queens;循环外


# 重新编译
make 1_nqueens_serial

优化实时3D心脏电生理学仿真的矢量化方面

# 示例应用程序下载地址
https://github.com/CardiacDemo/Cardiac_demo
# 查看cpu信息(先加载mpi脚本)
>>> source /opt/intel/oneapi/mpi/latest/env/vars.sh  
>>> /opt/intel/oneapi/mpi/latest/bin/cpuinfo -g

>>> module load mpi/2021.3.0  # 添加我们要使用的mpi库
>>> module del openmpi4/4.0.5 # 删除之前openmpi库

# 环境准备,c++编译器,mpi,advisor
>>> source /opt/intel/oneapi/compiler/latest/env/vars.sh
>>> source /opt/intel/oneapi/mpi/latest/env/vars.sh
>>> source /opt/intel/oneapi/advisor/latest/env/vars.sh

# 检查环境
>>> mpiicc -v
>>> mpiexec -V
>>> advisor -version

# 构建目录
>>> cd Cardiac_demo
>>> mkdir build && cd build
# 构建程序
>>> mpiicpc ../heart_demo.cpp ../luo_rudy_1991.cpp ../rcm.cpp ../mesh.cpp -g -o heart_demo -O3 -xCORE-AVX2 -std=c++11 -qopenmp -parallel-source-info=2

# 运行上面生成的heart_demo可执行程序
>>> export OMP_NUM_THREADS=1
>>> mpirun -n 48  ./heart_demo -m ../mesh_mid -s ../setup_mid.txt -t 100 -i
程序员灯塔
转载请注明原文链接:intel advisor使用
喜欢 (0)
违法和不良信息举报电话:022-22558618 举报邮箱:dljd@tidljd.com