自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 在Ubuntu上安装docker(docker engine)和docker compose

本文详细介绍了在Ubuntu系统上安装Docker的完整流程。主要内容包括:1)检查系统兼容性和防火墙设置;2)卸载旧版本Docker;3)配置官方APT仓库;4)安装Docker Engine及相关组件;5)验证安装;6)配置非root用户权限。文中每个步骤都包含原理说明,解释了命令的作用和安全考量,并提供了2025年最新Ubuntu版本的支持信息。安装过程强调从官方源获取软件包,确保安全性和稳定性,同时推荐使用非root用户运行Docker以降低安全风险。

2025-12-25 15:10:22 443

原创 Ollama离线安装与配置

本文介绍了在Linux系统(Ubuntu)上离线安装Ollama的详细步骤: 将Ollama安装包解压到系统路径/usr/bin/和/usr/lib/ 创建专用系统用户ollama并设置权限 配置模型存储目录/var/lib/ollama 创建systemd服务文件并设置开机自启 测试普通用户访问 提供可选安全措施(防火墙、认证) 包含完整的卸载方法 安装过程强调以非root用户运行服务,确保安全性,同时通过systemd管理实现系统级部署。

2025-12-22 10:04:34 614

原创 WSL中安装和配置大模型本地运行器Ollama

它让你在自己的电脑上运行 Llama、Qwen、Mistral 等大模型(.gguf 格式),不需要联网,不依赖云端。可以理解为:“让大模型像普通程序一样在你电脑本地运行的工具。这样直接本地跑LLM。

2025-12-11 11:21:02 498

原创 Matplotlib绘图中文字符显示异常(方框、乱码)的解决方案

Matplotlib中文显示问题解决方案 摘要:针对Matplotlib在不同操作系统(Windows、macOS、Linux/WSL等)中文字体显示异常的问题,本文提供了两种解决方案。简单方案只需在代码开头添加4行配置,通过设置字体列表(包含SimHei、PingFang SC等)和unicode_minus参数,即可实现跨平台中文正常显示。进阶方案则详细介绍了手动下载字体、修改配置文件路径和matplotlibrc配置的方法,适合需要定制化设置的用户。两种方案都能有效解决Matplotlib绘图时出现的

2025-12-05 22:21:29 936

原创 grep命令要点、详解和示例

命令基本形式。PATTERNS是要匹配的模式(可以是正则或字符串);FILE是一个或多个文件名。:对每个文件逐行检查模式,默认输出匹配到的整行(除非用-o或其它选项改变输出)。:示例说明-i(忽略大小写)如何使用。:一个模式文件或多行模式串中每行可视为一个独立模式;任一行匹配即为命中。假设会查找包含任意一行模式的日志行。

2025-08-18 10:57:59 1109

原创 find命令解读

本文详细介绍了Linux中功能强大的find命令,包括其基本用法、选项参数和常见应用场景。find命令支持按文件名、大小、时间、权限等条件进行文件搜索,并能对搜索结果执行操作。文章重点解析了全局选项、位置选项、测试条件和操作符的使用方法,并提供了多个实用示例。同时强调了使用时的注意事项,如默认行为、符号链接处理、性能优化和安全性问题,帮助用户高效安全地使用这一工具进行文件管理。

2025-08-15 22:10:07 999

原创 Ubuntu中选择Python虚拟环境

在Ubuntu系统中,通过一个简单的命令(例如activate)快速查找并激活Python虚拟环境。

2025-04-24 17:04:28 745

原创 Jatson Agx Xavier开发套件的联网问题

使用Windows中的Ubuntu虚拟机对Jatson Agx Xavier Developer Kit开发套件进行开发,同时要解决Jatson Agx Xavier Developer Kit的联网问题。

2025-04-24 10:37:23 934

原创 使用SSH命令连接并优化登陆连接流程

如果需要使用ssh命令频繁连接远程linux设备,每次都需要输入对方的用户名、主机IP和密码登陆,非常麻烦,解决这个问题并不复杂。现在来解决这个问题:如何简化频繁使用SSH连接远程Linux设备时需要输入用户名、主机IP和密码的麻烦。以下是最佳的做法,可以使得SSH连接过程变得更简单高效。

2025-04-21 10:23:31 790

原创 无头开发模式

介绍无头开发模式,即在没有直接连接物理显示器、键盘或鼠标等输入输出设备的情况下,通过远程工具(如 SSH、SCP、rsync、VNC 或 Web 界面)对设备进行开发、管理和调试的一种工作方式。

2025-04-17 19:21:25 1490

原创 手把手教你Jetson AGX Xavier Developer Kit刷机(装系统)

准备一台电脑:得是 Ubuntu 系统,装上 NVIDIA 的 SDK Manager 工具(NVIDIA 出的刷机工具 SDK Manager 只支持 Ubuntu 系统,推荐用 Ubuntu 18.04 或者 Ubuntu 20.04。Jetson 的软件和 Ubuntu 是“老搭档”,换别的系统(比如 Windows 或 Ubuntu 24.04)会出问题。另外 SDK Manager 会检测目标硬件,决定需要安装的 Jetson 专用的软件,这也限制了这台电脑的 Ubuntu 系统版本)。

2025-04-15 12:10:04 2793

原创 Jetson AGX Xavier开发套件使用方法

从零开始使用一台Jetson AGX Xavier Developer Kit,使用它进行明火烟雾目标检测实验的具体操作步骤。

2025-04-11 17:19:06 1428

原创 Pytorch的安装和使用

CPU和GPU不同版本的pytorch安装

2025-04-08 17:43:56 1139

原创 使用YOLOv5训练自定义数据集-无NVIDIA GPU的情况

没有NVIDIA GPU的情况下,训练YOLOv5的步骤基本相同,但需要做一些调整以适应CPU的计算能力,本文提供一些具体的指导。

2025-03-28 11:20:08 790

原创 使用YOLOv5训练自定义数据集

一步步说明如何用户自定义数据集训练YOLOv5模型,最终得到一个可以进行预测的目标检测模型。

2025-03-28 11:18:33 936

翻译 《You Only Look Once: Unified, Real-Time Object Detection》论文翻译

You Only Look Once: Unified, Real-Time Object DetectionJoseph Redmon∗, Santosh Divvala∗†, Ross Girshick¶, Ali Farhadi∗† University of Washington∗, Allen Institute for AI†, Facebook AI Research¶http://pjreddie.com/yolo/YOLOYOLOYOLO (You Only Look Once)是一

2025-02-06 11:32:34 451

原创 Vim的零宽断言/匹配

/ab\@= 查找后面是b的a;/ab\@! 查找后面不是b的a;/a\@<=b 查找前面是a的b;/a\@<!b 查找前面不是a的b;/ab\@> 查找ab;/ab\@>b 查找abb;

2024-12-11 12:12:58 201

原创 四步向gem5中添加用户自定义的分支预测器

四步向gem5中添加用户定义的分支预测器

2024-10-18 10:38:33 1015

原创 SPEC CPU2017的runcpu命令使用

特别注意, 和 是两个不同的参数,它们的作用和用途是不同的: 参数用于生成符合 SPEC 基准测试提交标准 的结果报告。它的主要功能是确保测试结果符合SPEC的规范,可以正式提交给SPEC进行认证和审核。 参数用于指定测试结果文件的 输出文件名 和路径。SPEC CPU2017运行完基准测试后,自动生成的结果会存储在指定的目录中。查看这些结果有多种方式:(1) 结果目录测试结果通常存储在安装目录的 子目录中。每次测试运行都会生成一个新的结果文件夹,文件夹名称通常以时间戳和测试配置命名。例如:(2)

2024-09-05 15:22:09 4210

原创 SPEC CPU2006的runspec命令使用

【代码】SPEC CPU2006的runspec命令使用。

2024-09-04 17:21:03 1457

翻译 gem5内存系统

本文档描述了gem5中的内存子系统,重点是CPU在简单内存事务(读取或写入)期间的程序流程。

2024-07-23 16:12:55 396 1

翻译 Gem5经典缓存

默认的缓存是带有MSHR(未命中状态保持寄存器)和WB(写缓冲区)的非阻塞缓存,用于处理读写未命中。缓存也可以启用预取(通常在最后一级缓存中)。Gem5中实现了多种和。这些策略分别定义了在给定地址的情况下可以用于块替换的块,以及如何使用地址信息找到块的位置。默认情况下,缓存行使用策略进行替换,并使用策略进行索引。

2024-07-23 15:45:52 278

翻译 内存索引策略

索引策略根据地址确定块映射到的位置。索引策略的最重要方法是getPossibleEntries()和regenerateAddr():getPossibleEntries()确定给定地址可以映射到的条目列表。regenerateAddr()使用存储在条目中的地址信息来确定其完整的原始地址。和。

2024-07-23 15:29:19 96

翻译 经典内存系统一致性

上层缓存(即靠近CPU的缓存)的请求以预期的方式向内存传播:L1未命中会在本地L1/L2总线上广播,由总线上的其他L1监听(如果没有响应)并由L2服务。在L2中为所有L1保留一套额外的标签,这样可以同时监听它们(参见Compaq Piranha)——这在层次结构不太深时是合理的,但现在你必须根据上层缓存的数量、大小和配置来调整下层缓存中的标签大小,这会导致配置上的困难。注意:截至2.0b4版本,该协议仍有一些漏洞,特别是如果你有多个L2,每个L2后面有多个L1,但我相信它适用于2.0b3中可行的任何配置。

2024-07-23 15:27:25 140

翻译 Gem5替换策略

Gem5实现了多种替换策略。每种策略使用特定的替换数据来确定驱逐时的替换受害者。所有的替换策略都优先考虑驱逐无效块。一个替换策略包含reset()、touch()、invalidate()和getVictim()方法。每个方法以不同的方式处理替换数据。reset()用于初始化替换数据(即验证)。它应该仅在条目插入时调用,且在失效之前不应再次调用。对条目的第一次访问必须始终是reset()。touch()在访问替换数据时使用,因此应在访问条目时调用。它会更新替换数据。

2024-07-23 15:24:47 515

翻译 M5内存系统

M5的新内存系统(在第一个2.0测试版发布时引入)设计有以下目标:在定时模式下统一定时和功能访问。旧的内存系统中,定时访问没有数据,只是计算操作所需的时间。然后单独的功能访问才使操作对系统可见。这种方法令人困惑,允许模拟组件意外作弊,并且阻止内存系统返回与定时相关的值,这对于执行中执行的CPU模型是不合理的。简化内存系统代码-减少大量的模板化和重复代码。更容易进行更改,特别是允许除了共享总线以外的其他内存互连。关于新的一致性协议的详细信息,请参见2.0b4中引入的(以及重大的缓存模型重写)。

2024-07-23 15:21:59 173

翻译 客户端二进制文件

gsutil是一个Python应用程序,可以让您从命令行访问Cloud Storage。gem5官方提供了一套有用的预构建二进制文件,用户可以下载这些文件(以免用户从头重新编译)。如果遇到问题,我们会尽力帮助,但不保证它们能与最新版本的gem5一起使用。快速模型(使用m5–semi操作):/init.semi.gem5。kvm(使用m5–addr操作):/init.addr.gem5。下面的压缩包包含一组二进制文件:Linux内核和一组引导程序。默认(使用m5操作):/init.gem5。

2024-07-22 15:14:38 162

翻译 构建Android Marshmallow

要在gem5中成功运行Android,需要一个镜像、一个兼容的内核和一个为模拟器配置的设备树二进制文件(.dtb)。本指南展示了如何使用支持Mali的3.14内核构建Android Marshmallow 32位版本。将来会添加一个额外的部分,介绍如何构建支持Mali的 4.4 内核。

2024-07-22 15:11:36 206

翻译 构建ARM内核

本文包含为在ARM上运行的gem5构建最新内核的说明。如果用户不想自己构建内核(或磁盘镜像),还可以选择。

2024-07-22 13:59:18 171

翻译 m5终端(m5 term)

m5term程序允许用户连接到全系统gem5提供的模拟控制台接口。M5Term可用于与模拟器交互,但用户必须经常设置各种终端设置才能正常工作。

2024-07-22 12:07:41 377

翻译 全系统模式下的设备

中的基类可以轻松创建设备。必须实现的类和虚函数如下所列。在阅读以下内容之前,建议首先熟悉存储系统。

2024-07-22 12:02:11 175

翻译 创建磁盘镜像

我们使用Packer和QEMU来自动化磁盘创建过程。本质上,QEMU负责设置虚拟机以及在构建过程中与磁盘镜像的所有交互。交互包括将Ubuntu服务器安装到磁盘镜像中,将文件从你的机器复制到磁盘镜像中,以及在Ubuntu安装后在磁盘镜像上运行脚本。不过,我们不会直接使用QEMU。Packer提供了一种更简单的方法,通过JSON脚本与QEMU交互,比从命令行使用QEMU更加直观。默认的 packer 脚本template.json应根据所需的磁盘镜像和构建过程中的可用资源进行修改和调整。

2024-07-22 11:23:25 1235

翻译 调试模拟代码

gem5内置了gdb远程调试器接口,支持用户进行远程调试。用户可以启动主机平台的gdb,监控模拟机器上代码在做的事情(FS模式下的内核,或SE模式下的程序)。gdb与模拟的gem5系统进行交互(talk),就像该gem5系统是一个真正的机器/进程一样(由于gem5的执行是确定的,而且gem5的远程调试器接口又能保证不会干扰到模拟系统上的执行,这种做法实际上会更好)。如果正模拟系统的指令集架构(ISA)于其使用的本地主机的指令集架构不同,那么用户就需要用跨架构的gdb工具,可以参考后文的说明。

2024-04-17 10:10:23 391

翻译 gem5应用程序编程接口

应用程序编程接口(Application Programming Interface, API),是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。可以通过gem5的Doxygen Module页面查看被标记为API的全部方法和变量的完整文档。

2024-04-03 18:11:20 233 1

翻译 基于调试器的调试方法

用户可能需要使用调试器(比如gdb)来详细检查gem5在做什么,如果还是单独使用基于跟踪的调试方法就可能不够用了,此时用户肯定都需要使用gem5.debug二进制文件。理想情况下,查看trace至少可以缩小可能出现问题点的周期范围,到达关注问题点的最快方法是使用一个DebugEvent(调试事件),它会进入gem5的事件队列,并在到达指定周期时通过向进程发送一个SIGTRAP信号强制进入调试器。

2024-04-03 17:15:57 220

翻译 基于Trace的调试方法

最简单的gem5调试方法是让gem5自己打印其运行时的跟踪信息。gem5模拟器本身已经包含了许多DPRINTF语句,这些语句可以打印潜在关键事件的跟踪描述信息,而且每个DPRINTF语句都与一个调试标志(debug flag)相关联(例如,总线、缓存、以太网、磁盘等)。

2024-04-03 15:12:41 1112 1

翻译 gem5资源库说明

要在gem5中使用自定义资源,建议使用gem5目前支持的数据源格式之一:MongoDB Atlas、本地JSON文件或远程JSON文件。用户可在运行文件时重写GEM5_DEFAULT_CONFIG这个变量来使用自己的配置文件。需要特别注意的是,用户添加的任何自定义资源都必须符合gem5资源架构。

2024-03-05 11:55:10 328

翻译 在gem5中使用本地资源和数据源

本例将演示如何设置自定义配置并使用用户的本地资源,这里使用JSON格式文件作为资源的数据源来说明。创建自定义资源数据源首先需要为资源创建一个本地JSON对象。这是一个基本资源,本例是一个本地资源(本地JSON)与获取到的资源一起使用例子。这个基本资源需要一个源文件,因此创建一个名为fake-binary的文件,它只是一个空文件。"size": 1,"tags": ["test"],"23.0"],注意:资源的JSON对象应遵循gem5资源架构。

2024-03-04 18:15:14 259

翻译 使用gem5标准库创建自定义板

例如,本文的板没有输入输出(IO)总线,因此,这里has_io_bus函数的实现是返回假(False)值,并且有一个get_io_bus函数,调用它时引发(raise)NotImplementedError异常。本文介绍用户应如何通过使用gem5标准库创建自己的板(board),介绍是基于创建一个继承自MinorCPU的RiscvMatched板,它是一个RISC-V 预构建板,该板可在目录src/python/gem5/prebuilt/riscvmatched下找到。这里创建的板已经有了处理器,

2024-03-04 18:03:07 348

翻译 开发gem5自定义组件

设计中每个可用的gem5组件都继承自上述四个组件之一,用户必须在抽象板类(AbstractBoard)的构造函数中指定其它三者,即指定AbstractProcessor、AbstractMemorySystem和AbstractCacheHierarchy,就本设计而言,可以采用任意板(board),板可以使用继承自AbstractProcessor、AbstractMemorySystem和AbstractCacheHierarchy的组件的任意组合。

2024-02-08 11:23:20 419

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除