自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 intel oneapi简洁版安装教程(离线静默安装(非交互式),自定义组件,以2024版HPC toolkit安装为例)

intel oneapi简洁版安装教程(离线静默安装(非交互式),自定义组件,以2024版HPC toolkit为例)具体命令解析参考我另一篇博客[https://blog.csdn.net/qq_29809823/article/details/118939173](https://blog.csdn.net/qq_29809823/article/details/118939173)

2024-03-10 23:20:42 1235

原创 VTune+Sampling Drivers环境搭建(本地和远程)

性能分析工具VTune的安装,同时安装Sampling Drivers,以及分别配置本地和服务器

2024-03-08 16:36:45 1168

原创 使用kexec捕获crash kernel的demo及分析(不基于kdump-service,手动捕获,以了解原理)

网上关于crash kernel的捕获的教程大多都是基于封装好的kdump-service之类的(例如),方便确实是方便的,但是它隐藏了一些细节,导致我修改参数的时候也不知道从何下手。个人感觉,本质上,所谓的/var/crash因此,在使用kdump-tools时,用户几乎看不到dump-capture kernel的启动过程,就被跳过了。kdump确实方便,但是了解kexec的原理我觉得也比较有意思。

2023-11-16 17:10:03 386

原创 编译,安装,运行与调试linux内核(真机环境,基于crash调试)

1)内联函数。内联函数会被直接展开,不会执行call指令,因此这类函数没有了栈帧。2)编译器优化的函数。具体优化的时机不确定,但是猜测是一些只被调用一次的子函数,直接被展开到了父函数里面,这类子函数也没有了栈帧。具体例子是内核中的函数被展开到了函数中,导致函数特别长。3)中断栈。这类我不是特别确定,但是貌似通过中断调用的函数在调用栈中的信息不太全。

2023-09-25 15:55:52 1483

原创 使用gdb打印寄存器和地址的值

目录一、文件介绍:1、源码2、目标文件test13、使用dynamorio工具生成的注释文件(后面简称它注释文件吧)二、使用gdb调试目标文件1、设置断点2、设置汇编格式为intel3、打开tui界面(汇编+c语言)4、run5、查看当前指令5、查看寄存器的值三、阅读一下mytest函数汇编四、作业:阅读一下mytest2函数的汇编,并且单步调试一下,观察数据的变化一、文件介绍:1、源码#include <stdio.h>// 演示函数参数的传递过程// 可以使用vscdoe调试,或

2023-08-02 15:39:23 2062

原创 基于dynamorio自制反汇编小工具 instr_trace安装

对程序进行反汇编,然后打印出运行每个汇编时各个寄存器的值(类似于gdb单步调试,然后每一步都打印寄存器的值)

2023-08-02 15:27:05 352

原创 Integrated Performance Primitives(IPP)的基本概述与安装

intel ipp库(Integrated Performance Primitives)概述来自维基百科https://zh.wikipedia.org/wiki/英特尔集成性能原语一个多线程软件函式库,包含用于多媒体和数据处理应用的函数,支持英特尔和兼容处理器,可用于Linux、macOS、Windows和Android操作系统Intel IPP被划分为四大主要处理组:信号(带有线性阵列或矢量数据)、图像(具有典型颜色空间的2D阵列)、矩阵(用于矩阵运算的nxm数组)和密码学。其入口点

2023-07-14 17:02:15 1276

原创 Accel-Sim模拟器 编译、安装与运行

> Accel-Sim主要分成两部分,一部分是使用NVBit工具生成trace,另一部分是把trace导入gpgpusim进行模拟。> - gpgpusim是一个比较常见的GPU模拟器,网上也有单独的安装和使用教程,不过Accel-Sim这里的,它不依赖于GPU。> - 但是NVBit需要在真实GPU上面运行(据我所知)可以参考nvbit的仓库,https://github.com/NVlabs/NVBit,里面有Requirements(环境要求)。SM compute capability: >=

2023-07-14 16:58:37 1237 4

原创 sed一些使用技巧(遇到的坑)

的时候需要字符不需要转义,这点很关键。因为-e和-E想要实现相同的功能,命令不一样,如果搞混了就很麻烦。sed的命令要用单引号,不能是双引号,不然会出现各种错误。不能用来表示数字,不然像下面,运行完没变化。注意上面是[0-9]表示数字,切记。的时候许多字符都需要转义,例如。

2023-07-14 16:56:35 295

原创 使用qemu创建ubuntu-base文件系统,并安装PM相关内核模块

流程简述:(镜像基本的文件系统配置)1、下载ubuntu-base的镜像2、挂载镜像,配置镜像的网络,并安装各类软件(PM模块配置)3、编译内核模块,并拷贝到镜像中4、启动qemu5、安装内核模块,并配置相关软件。

2023-07-14 11:27:15 2544

原创 (多种方法)VSCode调试docker容器里的程序

有时候我们需要调试docker容器里的c++程序,可以使用命令行运行gdb调试,但是不如vscode的图形界面调试着直观。本文介绍如何使用VSCode调试docker容器里的c++程序。

2022-12-27 15:03:33 15661 1

原创 gem5-gcn3-gpu模拟器的开发环境搭建(使用docker镜像+vscode调试,十分便捷)

目录一、前言二、 基于docker镜像搭建环境(成功)2.1 在docker容器内安装gem52.1.1 pull镜像直接pull离线pull2.1.2 在容器内编译gem52.1.3 在容器内运行gem52.2 在容器内编译gpu程序2.3 使用vscode的remote-container开发代码附:常规环境安装(失败)3.1 方法13.2 方法23.3 方法3我的环境:win10 我自己的电脑,用来连远程服务器vscodeubuntu16.04 远程服务器docker没有amd的显

2021-12-16 20:54:56 5152 6

原创 (不使用docker,很麻烦)gem5 gcn3 gpu的编译安装运行(nvidia gpu环境下)

依赖编译编译命令python3 $(which scons) ./build/GCN3_X86/gem5.opt -j9运行问题编译遇到的问题:drm.h:375:8: error: expected unqualified-id before ‘virtual’参考:https://stackoverflow.com/questions/19034688/extern-c-with-variable-name-virtualThe real issue here is that you

2021-12-16 20:53:49 1515

原创 vscode使用remote-ssh连接centos 7时遇到的问题(arm和x86)

一、错误在使用vscode的remote-ssh远程连接centos 7的服务器时,会报错,如图:could not fetch remote envionmentfailed to connect to the remote extension host server (Error: Connection error: Unauthorized client refused)二、根据日志查看原因查看服务器上的日志(路径为~/.vscode-server/.c13f1abb110fc756f9

2021-11-29 16:41:51 4792

原创 gcc-8.3.1安装(arm,Centos7)

环境Centos7(Red Hat 8.3.1-3)arm cpu参考官网链接一、简要步骤:1、修改yum的Base源为国内源(比如清华源)2、make yum makecache3、安装CentOS SCLo RH仓库(yum install centos-release-scl-rh)4、安装yum包yum install devtoolset-85、设置默认gcc编译器(source /opt/rh/devtoolset-8/enable)6、测试(gcc -v,g++ -v).

2021-10-30 20:02:22 2815

原创 dynamorio安装(二进制插桩工具)

DynamoRIO安装git clone https://github.com/DynamoRIO/dynamorio.git可用的git版本 ad03a4ac7517b8cc3f21a2aa6e68b1a52cae74e4,新版本的接口有一些不太一致,如果不需要接口兼容的话使用最新版就可以,我这里是需要旧版本的,所以进行了回溯(git reset --hard ad03a4ac7517b8cc3f21a2aa6e68b1a52cae74e4)安装教程github首页找不到,其实在wiki里后几页(

2021-09-01 22:20:48 1064

原创 gdb调试(c语言和汇编指令)

环境:ubuntu 18.04gdb背景:调试Intel ipp库目录一、gcc的安装二、icc的安装三、编译器的使用3.1 基本用法3.1.1 查看命令文档3.1.2 基本的编译命令3.1.3 运行目标文件3.2 多文件编译3.2.1 源码3.2.2 编译命令3.2.3 运行命令3.3 编译双线性变换demo3.3.1 编译命令3.3.2 运行命令3.4 编译金字塔demo3.4.1 编译命令3.4.2 运行命令三、gdb的安装方法1 (推荐)apt安装gdb方法2 源码安装测试四、gdb的使.

2021-08-17 14:55:46 5717

原创 nasm汇编器的安装与基本使用方法

实验环境ubuntu 18.04nasm安装sudo apt install nasm测试nasm -v示例代码test.s; 测试unpcklps指令 global main global msg extern puts section .textdata1 db 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16data2 db 17,18,19,20,21,22,23,24,2.

2021-08-17 14:54:37 1044

原创 intel oneapi 2021 安装教程(以ipp为例,离线静默安装,逐步解析)

实验环境:win10 wslubuntu 18.04目录一、intel官方教程二、安装过程2.1 下载2.2 安装方法方法一 全家桶安装方法二 自定义组件安装(安装目录使用默认)方法三 自定义组件、自定义安装目录2.3 查询安装情况(也可以跳过)2.3.1 查看产品id和版本号2.3.2 查看组件安装情况2.4 设置环境变量2.5 验证环境一、intel官方教程下载方法选择详细安装教程我选择的安装方法为:linux离线安装,且使用非交互式命令行安装(教程)二、安装过程2.1 下载.

2021-08-17 14:53:46 16941 9

原创 WSL的安装

安装win10的WSL(linux子系统)双系统或者虚拟机(比如VMware)不太方便、不够小巧,所以我选择使用win10的WSL中的Ubunut (此处安装版本为Ubunut 18.04)。ps:WSL现在有个wsl2,功能更多,支持图形界面,但是我觉得wsl1够用了,所以并没有升级wsl2。1.1 WSL的几种安装方法1.1.1 开启wsl支持用管理员身份打开powershell,输入下面的命令(参考资料)$ dism.exe /online /enable-feature /feature

2021-08-17 14:51:23 9492 1

原创 gdb常用命令总结(汇编和c)

参考gdb的安装:参考简单命令gdb test 运行程序targetgdb test --args test 1 2 3运行程序test ,且参数列表(args)为[test,1,2,3]show args 显示argsset args 修改args上下键可以查看命令历史(tui中,如果选中的不是cmd窗口,快捷键功能会被替换成别的)如果忘记了用法,可以help command,可以看某个command的用法,比如help pb 断点info b 查看断点del或者clear 删除断

2021-08-06 01:21:41 517

原创 使用LxRunOffline安装WSL到任意位置

网上由详细教程,我这里只写些简单步骤安装LxRunOffline(下载、解压、配置环境变量即可)下载wsl(修改后缀为zip,然后解压)使用LxRunOffline安装# lxrunoffline i -n <WSL名称> -d <安装路径> -f <安装包路径>.tar.gzC:\Users\15758>lxrunoffline i -n ubuntu -d D:\MyApp\Ubuntu18 -f D:\MyApp\Ubuntu18\install

2021-06-22 22:33:52 1135

原创 IPP库的安装以及源码分析方法

目录第一部分 IPP环境搭建(基于win10的WSL)1.1 WSL的几种安装方法1.1.1 开启wsl支持1.1.2 (可选)使用Windows store直接安装(1)下载(2)安装1.1.3 (可选)使用LxRunOffline自定义安装wsl1. 安装LxRunOffline2. 下载wsl离线文件3. 解压wsl offline文件4. 安装wsl5. 打开wsl6. wsl初始化1.2 (可选)使用VScode连接wsl1.2.1 插件下载1.2.2 连接wsl1.3 在ubuntu上安装IPP

2021-06-22 22:33:12 4356

原创 DRAM书籍笔记 - 目录整理

Part 1 CacheAn Overview of Cache Principles1.1 Caches, ‘Caches,’ and “Caches”1.2 Locality Principles1.2.1 Temporal Locality1.2.2 Spatial Locality1.2.3 Algorithmic Locality1.2.4 Geographical Locality? Demographical Locality?1.3 What to Cache, Where

2021-06-15 16:14:19 3764 2

原创 VSCode使用attach process方法调试zsim模拟器(或者其它pintool工具)

简单记录一下,以防以后再次用到参考pin官方里面的debug教程,只是用vscode来取代gdb去attach。(使用gdb连接的官方教程,不同pin版本的文档基本一样)步骤:1、运行pintool(比如zsim),前提是运行pin的时候添加参数(-pause_tool n,n的单位为秒),这样pin在运行后,就会出现等待attach的对话,同时会提供attach的进程pid,这个pid后面会用到。2、设置断点,然后点调试(或者直接f5),前提是把launch.json文件替换成类似下面的{

2021-06-08 15:12:10 1198

原创 zsim与dramsim3的集成

zsim使用的不是原始zsim而是ramulator-pim里的zsim(项目地址)dramsim3我有做一些简单的结构修改,不然集成时会报错(dramsim3项目地址,代码修改可以看我的git记录)步骤1、编译zsim(先确保不集成draimsim3的时候能编译成功)2、编译dramsim3(注意使用命令cmake -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0' ..而不是简单的cmake ..)3、修改zsim的SConstruct,加上Drams

2021-05-19 17:01:26 983 1

原创 gem5全系统环境安装与使用(gem5art的boot-exit实验)

主要教程 https://gem5art.readthedocs.io/en/latest/tutorials/boot-tutorial.html基本环境搭建教程很详细,我主要说一些注意事项步骤梳理依赖:安装好qemu,我是源码安装的(qemu安装)1、创建工作路径2、下载packer(自动化生成image的工具,gem5art中生成的是qemu镜像)3、编写packer模板。gem5art已经把模板写好了(boot-exit.json),不过可能需要依据具体情况修改参数,比如路径之类的4

2021-05-18 14:14:31 1041 6

原创 gem5 20版本 安装与使用

依赖:python 3.6以上python 3.6安装sudo apt install python3.6-dev这个划重点,很多情况下不需要装这个,但是gem5需要$ sudo add-apt-repository ppa:deadsnakes/ppa # 网上说如果提示add-apt-repository命令不存在的话,可以安装 software-properties-common 这个软件包或者在source.list里面加下面这两行(第二行可以注释)`deb http://ppa.lau

2021-05-03 17:05:04 686 3

原创 qemu6.0编译,安装与运行,以及文件共享(使用vncviewer)

通过源码安装qemu-6.0.0-rc4,并使用Linux-0.2.img进行测试

2021-04-27 21:18:51 2452

原创 hadoop mapreduce 多表join实验

hadoop 0.20代码MTjoin.java(类型有点问题,14行)20/11/17 01:59:41 WARN mapred.LocalJobRunner: job_local_0001java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Textat MTjoinMap.map(MTjoin.java:14)atorg.apache.had

2021-04-06 16:00:10 148 1

原创 zsim模拟器安装与使用 trace-driven版

zsim默认不支持trace driven(源码里虽然有这一块,但是原作者没有完成吧,我猜),不过其他人完成了后续的工作地址 https://github.com/stanford-mast/zsim/tree/memtrace注意是memtrace分支https://github.com/s5z/zsim/issues/226环境gcc-7(apt安装,使用中科大的ppa反向代理下载快一下)在添加 source.list里加deb https://launchpad.proxy.ustclug

2021-01-23 01:29:41 2004

原创 c语言 获取当前时间,并打印格式化字符串

#include <time.h>#include <stdio.h>int main(){ time_t now = time(NULL); char time_str[20]; strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M", localtime(&now)); printf("%s\n", time_str); char

2020-11-28 21:54:51 1155

原创 Intel Pin 捕获系统调用

参考文章:https://blog.netspi.com/dynamic-binary-analysis-intel-pin/

2020-11-20 19:18:03 238

原创 ccf csp—201903-4 消息传递接口

题目略思路:对于任何一个时候,只看每个进程的第一条指令就可以判断是否会锁死了。如果有一对进程的第一条指令配对成功,那么就执行这两条指令(出队列);相反所有进程的第一条指令都配对失败,那么就已经死锁了。然后每次都这么判断就好了。整体框架如下flag=1;while(flag){ flag = 0; if(有配对成功) flag=1;}output(flag);数据结构方面,...

2019-09-04 13:48:26 432

原创 CCF201812-5 管道清洁 建图过程详解+代码

题目就不贴出来了,网上很多,但是网上的题解基本都是在默认读者已经懂网络流/费用流的前提下写的,解析很少,我就以初学者的角度记录一下这个题的学习过程。首先这个题是无汇源有上下界的费用流最大流问题(好像是循环流?我还没太懂)无汇源是因为这个题并没有特殊的点,用术语就是所有的点都满足流量守恒,没有那种凭空产生流量的点。作为对比,下面有一个题目(摘自 https://www.cnblogs.com...

2019-08-21 17:35:31 698

原创 ccf 2018-12-3 CIDR 不使用stl容器

ccf 2018-12-3 CIDR 不使用stl容器题目:http://118.190.20.162/view.page?gpid=T82根据题目提供的思路代码前半段解析字符串那里比较长,但是思路很简单,我使用了编译原理课上讲的状态机,其实是个很简单的东西,下图是我画的简单的图,这种方法我觉得优势在于通用,而且直观,缺点就是看起来代码挺多的(不过其实我觉得那些代码少的,也不过是使用了库函...

2019-08-10 17:45:43 128

原创 Pandas最简单使用

Pandas基于series和dataframe两种类型,series是一维的,dataframe是二维的。读取数据,如从csv中,df = read_csv(‘d:/a.csv’,head=0)df.head(5) 查询前几个df.tail(5) 查询后几个df.columns #print(df.columns)可以看到列名df.x 或者 df[‘x’] 都可以选中某一列df...

2018-12-22 21:44:29 105

原创 tushare包使用学习

环境依赖pandas,lxml,bs4是turshare的依赖包(虽然安装的时候不装bs4也行,但是import的时候会报错)除此之外,导出excel时提示openpyxl(是1不是L) conda install openpyxlseaborn是可视化包,也一并装了ts.get_sz50s()调用时提示没有xlrd包,pip install xlrd,也是与excel有关导出数据...

2018-12-21 11:40:25 801

原创 python包 Ipython qtconsole安装

2018-12-20 23:12:01 427

转载 tushare get_k_data 的接口说明

tushare get_k_data 的接口说明文章

2018-12-20 23:09:18 10906

编译原理整套实验项目代码及实验报告 c/c++

《编译原理(E)》实验项目代码 实验1 DFA化简 1 实验2 DFA模拟程序 3 实验3 LL(1)文法判断程序 4 实验4 基于预测分析表法的语法分析程序(1) 5 实验5 基于预测分析表法的语法分析程序(2) 6

2019-03-06

图像直方图均衡算法的实现 bmp格式 c++

考查结构体、文件读写、简单的图像处理算法 从bmp文件(如灰度图像woman.bmp、彩色图像lenna.bmp)读入图像数据 对图像数据进行均衡处理 将均衡处理后的图像数据保存为新的bmp文件 要求编程只使用C语言自带库 功能 必做功能1:灰度图像的直方图均衡 必做功能2:彩色图像的直方图均衡

2019-03-06

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

TA关注的人

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