当前位置: 首页 > news >正文

Gem5模拟器,一些运行的小tips(十一)

一些基础知识,下面提到的东西与前面的文章有一定的关系,感兴趣的小伙伴可以看一下:

(21条消息) Gem5模拟器,全流程运行Chiplet-Gem5-SharedMemory-main(十)_好啊啊啊啊的博客-CSDN博客

 Gem5模拟器,FS模式运行自定义程序(九)_好啊啊啊啊的博客-CSDN博客


目录

1.关于运行openmp矩阵并行乘法时编译产生错误(这个是基于上述Gem5运行提出的问题),如下:

2.关于在gem5中绘制系统配置图:

3.已安装pydot库但是仍然报错 No module named pydot

4.关于重定向Gem5的输出文件


1.关于运行openmp矩阵并行乘法时编译产生错误(这个是基于上述Gem5运行提出的问题),如下:

undefined reference to `omp_get_thread_num'

 正确的编译代码如下:

pip install pydot
g++ -lm5 -L./ ./SMP.cpp -o SMP.out ./libm5.a -fopenmp

2.关于在gem5中绘制系统配置图:

gem5运行过se模式或fs模式后在m5out/下会有一个config.dot.svg,里面绘制了系统包含的组件以及各个组件之间的连线,但是一般情况下是不会直接生成该文件的,必须要安装pydot包,不然无效。可以参考源码中具体的实现:dot_writer.py(root/gem5/src/python/m5/util/dot_writer.py),调用文件是在simulate.py(root/gem5/src/python/m5/simulate.py)的第110行。下面记录如何生成该文件:

1. 安装Pydot包,如果没有pip,使用sudo apt install python3-pip即可

pip install pydot

2. 安装Graphviz包来根据dot文件绘制图片

sudo apt install graphviz

3.绘制图片(一般而言只有第一次需要手动操作,后续直接运行gem5仿真的命令就会自动生成。)

cd m5out # 这个目录是存放配置结果的,根据不同名称进入即可
dot -Tpng -o config.png config.dot

 运行结果如下:(来自:(28条消息) gem5中绘制系统配置图_空空7的博客-CSDN博客)在这里插入图片描述

3.已安装pydot库但是仍然报错 No module named pydot

# python-pydot-ng isn't in the 14.04 repos
sudo apt install python-pydot python-pydot-ng graphviz

亲测可行,还不行可以重启试试

4.关于重定向Gem5的输出文件

这个是真的让人迷醉的程度,是会把人气的死去活来的程度。同样的命令行参数,位置换了居然报错,重定向的两个参数是“-d”或者“--outdir”,需要加在build/指令集/gem5.opt后面,如下图所示:

 反之这样是不行的:

 如果上述包已经安装齐全,那么你的输出文件会是这样:

 

http://www.lryc.cn/news/28951.html

相关文章:

  • 【JAVA】List接口
  • Hbase RegionServer的核心模块
  • 【Java开发】JUC进阶 01:Lock锁详解
  • 关于登录校验的解决方案以及原理(回顾知识点)--项目开发那点事(自问自答版本)
  • 【数据结构】邻接矩阵和邻接图的遍历
  • 设计跳表(动态设置节点高度)
  • 基于神经辐射场(Neural Radiance Fileds, NeRF)的三维重建- 简介(1)
  • 【AI面试】NMS 与 Soft NMS 的辨析
  • 一文让你彻底理解Linux内核多线程(互斥锁、条件变量、读写锁、自旋锁、信号量)
  • 利用python写一个gui小公举--环境搭建
  • 英飞凌Tricore实战系列02_ENDINIT属性看门狗原理及应用
  • Java Number类
  • C++构造和析构
  • docker安装即docker连接mysql(window)
  • HMM-维特比算法
  • 【C++初阶】2. 类和对象_1
  • kotlin把函数作为参数转递给另一个函数
  • 海思嵌入式开发-005-OpenHarmony源码编译问题
  • 指针的进阶续(笔试题强化练习)
  • 一个供参考的计算机的学习路线
  • React(五):受控组件、高阶组件、Portals、Fragment、CSS的编写方式
  • MATLAB——系统环境
  • 2 GateWay工作流程+GateWay搭建
  • 【微信小程序】富文本rich-text的图片预览效果的几种方法
  • 通信网络-Socket、Java中的网络支持、多线程服务器
  • 搞懂 JS this、call、apply、bind
  • 力扣209长度最小的子数组
  • 【mysql是怎样运行的】-InnoDB数据页结构
  • VIM实用指南(10)语法自动补全插件coc.nvim
  • 【Vue3 第二十二章】过渡动画