自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术札记

技术札记

  • 博客(504)
  • 资源 (1)
  • 收藏
  • 关注

原创 【问题记录】编译中遇到illegal storage class on function的原因?

在 C 语言里,有一些不合法或者不适合用于某些上下文的存储类说明符。

2025-04-03 08:20:23 136

原创 【微知】ARM CPU是如何获取某个进程的页表的?(通过TTBR寄存器,MMU进行处理)

当CPU访问虚拟内存的时候,如果tlb misss,MMU(Memory Management Unit 内存管理单元)会根据TTBR寄存器的值(是硬件提供给软件配置的接口)MMU能够动态的根据配置去获取不同进程页表的一级页表地址,然后依次根据偏移逐级获取到虚拟地址对应的物理地址,或者对应的IO地址。TTBR0用户空间的一级页表基址,1是内核页表。当通过MMU将虚拟地址转化为物理地址的最后一级页表的时候,如果发现当前页表不在内存中(比如被换出到swap分区),页表的标记位present位0表示不在内存中。

2025-04-02 08:53:45 249

原创 【微知】如何快速指定一个固定大小的文件?(dd if=/dev/zero of=testfile bs=1K count=1、truncate -s 1M testfile)

有些时候测试磁盘,或者测试共享内存(比如tmpfs),或者分布式文件系统挂在的文件,需要创建较大的文件,如何快速创建?

2025-03-29 12:22:31 361

原创 【问题解决】戴尔服务器R720显示屏报错 the NDC is absend?什么是Mezzanine卡?(背板网卡搬迁松动异常、NDC 网络子卡、Mezzanine card夹层卡)

NDC缺失。伴随启动后,往下插入到背板的4个网口不亮灯,路由器上的灯也没亮,说明物理链路没有电信号。确认时网络单元异常。网口在报错 所以用不了。

2025-03-23 19:43:35 767

原创 【微知】Intel芯片中的DDIO技术是什么?(Intel Data Direct I/O I/O 设备能够访问 CPU 的最后一级缓存)

从 M2IOSF 的角度来看,入站写入包括两个阶段:所有权和数据回写。在所有权阶段,M2IOSF 使用 ITOM 或 ITOMCacheNear作码向 CHA 发送所有权请求,CHA 通过将目标缓存行的所有权交给 M2IOSF 并相应地更新 snoop 过滤器来做出响应。与非 IO作一样,将缓存行的所有权授予 M2IOSF 需要通过 snoops 通知缓存行的其他所有者,以遵循 MESIF 一致性协议使其副本无效。所有权阶段结束后,M2IOSF 将数据消息 MTOI 发送到同一个 CHA。

2025-03-21 02:47:33 729

原创 【微知】BlueField3支持多少个VF?(DPU单口32个,HOST单口126个)

In the BlueField, 每个port最多32个VF。port是指物理口。如果2个port,DPU里面就是64个VFIn the host OS, 每个port最多126个PF。如果2个port,总的就是252个。

2025-03-21 01:33:56 188

原创 【微知】如何查看GPU的详细信息?(nvidia-smi -q 驱动版本、cuda版本、型号、pcie bdf、SN、bios版本、PN、PCIe第几代、PCIe最大lane)

其他:可见:驱动版本、cuda版本、型号、pcie bdf、SN、bios版本、PN、PCIe第几代、PCIe最大lane、Tx带宽和Rx带宽、内存用量、当前温度、阈值温度、功耗

2025-03-21 01:19:41 321

原创 【微知】如何通过查看系统所有的nvidia gpu列表?(nvidia-smi -L、lspci -d 10de:)

10de是NVIDIA的pcie的vendor id。

2025-03-21 01:12:51 126

原创 【问题解决】ib_write_bw报错segfault at 1b1 ip 00007f80f540a137 sp 00007ffc26ac1ae0 error 4 in librdm?

使用支持cuda的ib_write_bw的时候报错。

2025-03-18 02:56:15 194

原创 【微知】对于有多个Mellanox网卡并且开了多个VF的环境,如何查看实际的网卡数量?(mst status、lspci |grep nox |grep \\.0\)

服务器上多个网卡,查看ibdev2netdev非常多,lspci也非常多,如何唯一确定实际的网卡数量。本文实操设备只有一张卡仅供参考。

2025-03-18 02:27:51 198

原创 【微知】如何用ip命令配置ipv6的地址,以及如何ping?(ip -6 addr add ::1:1:1:2/64 dev enp1s0f0; ip a s)

如题。

2025-03-18 01:34:03 161

原创 【微知】ip命令如何查看路由表?如何查看IPv6的路由表?(ip r s、ip -6 r s)

ip命令查看路由表,以及ipv6的路由表。

2025-03-18 01:25:46 322

原创 【微知】如何安装NVIDIA的cuda到centos上?(wget cuda_11.4.0xxx.run; sh cuda_11.4.0_xxx.run --toolkit --driver...)

本文简要记录之前安装cuda的记录,详细记录找不到了,以供参考。已经2个模块需要依赖cuda了,一个是之前提到的nvidia_peermem模块依赖cuda,一个是perftest跑–use_cuda的cuda内存用到。

2025-03-18 01:22:31 276

原创 【微知】如何编译perftest支持运行cuda内存? unrecognized option ‘--use_cuda=4‘如何处理?(export CUDA_H_PATH=xxx/cuda.h、)

普通的perftest只能使用主机内存进行rdma,如何让perftest支持使用cuda来跑gpu的rdma?需要在编译阶段支持cuda的版本。本文简要记录编译perftest的过程。

2025-03-18 01:16:07 1427

原创 【微知】Mellanox网卡如何查看当前网卡总的qp数量?mr数量?pd和cq的数量?(rdma res show)

查看qp、mr、pd、cq等数量。

2025-03-16 22:47:41 263

原创 【微知】如何快速查看Mellanox网卡的config中某个config的作用?(mlxconfig -d 01:00.0 show_confs; mlxconfig -d 01:00.0 i)

经常需要使用mlxconfig来配置某个静态参数。这些配置的作用mlxconfig提供了一个命令来查看作用。

2025-03-16 19:11:44 197

原创 【微知】为何越来越多的人喜欢用ip命令查看ip而不是ifconfig?(ip a)

平时查看ip地址,经常用ifconfig和ip。但是ip使用者越来越多?需要7个字母看似少一个。但是ip支持简约模式。其中一个原因就是 ip命令更快捷。

2025-03-16 18:58:13 99

原创 【微知】如何指定一个命令在指定时间之后结束?(time 5 top)

有些场景做一些复现的动作,需要指定执行指定时间后就退出。除了某些参数自带,还可以用time命令。

2025-03-16 18:49:46 107

原创 【微知】plantuml在泳道图中如何将几个步骤放入一个框中?(group “sub框1“; end !! “sub框1“)

将几个步骤放在一起画个框,分区方便。

2025-03-13 23:59:03 238

原创 【微知】plantuml在泳道图中如何将多个泳道框起来分组并且设置颜色?(box “浏览器“ #LightGreen endbox)

效果:可见图中浏览器1和浏览器2放到了一起,并且叫浏览器的title。分组用 box和endbox ,颜色用#xxx,标注用"xxx"

2025-03-13 23:54:01 332

原创 【微知】tmux中如何让某个窗口或者子窗口显示时间(ctrl + b t)

让某个窗口或者子窗口显示时间ctrl + b t退出:直接回车。

2025-03-13 23:47:49 200

原创 【微知】tmux如何在一个会话的1个窗口中水平分割或者垂直分割窗口?(垂直 Ctrl + b, %; 切换Ctrl + b, 方向键; ctrl d关闭)

除了直接创建窗口,还可以分割一个窗口。

2025-03-13 23:45:24 361

原创 【微知】tmux如何在某个会话session中创建多个窗口?如何切换?(Ctrl+b + c创建;Ctrl+b + 数字 切换;Ctrl+b + &关闭)

Ctrl+b + c。

2025-03-13 23:38:20 174

原创 【微知】centos上如何安装docker?运行服务?以及如何指定docker镜像?再装一个docker的容器?(docker pull quay.io/centos/centos:stream8)

Docker CE是免费的Docker产品,Docker CE包含了完整的Docker平台。

2025-03-13 23:28:05 330

原创 【微知】如何在Centos上配置安装阿里云的kubernetes源以及安装kubernetes?(kubernetes.repo; systemctl start kubelet )

国外镜像源无法访问,配置阿里云的镜像源。

2025-03-13 23:21:40 235

原创 【微知】docker如何在正在运行的容器中执行一条命令?如何启动容器?如何查询正在运行的容器?(docker ps、docker exec -it、docker start)

docker exec:Docker 提供的一个命令,用于在正在运行的容器中执行命令。当有一个正在运行的容器时,有时候需要在容器内部执行一些额外的操作,比如查看文件、运行脚本等,就可以使用 docker exec 命令。执行 bash 命令意味着在容器内启动一个 bash 交互式 shell,这样可以像在本地终端一样在容器内部执行各种命令,例如查看文件、运行程序等。Docker 容器可以通过名称或唯一的 ID 来标识,使用 docker ps 命令查看正在运行的容器的名称和 ID。

2025-03-13 01:51:51 136

原创 【微知】NCCL通信库的环境变量有哪些如何设置?(NCCL_DEBUG、NCCL_SOCKET_IFNAME、NCCL_IB_HCA)

VersionAlgorithm2.5+Ring 戒指2.5+Tree 树Collnet 科内特2.14+2.14+2.17+NVLS 系列2.18+NVLSTree2.23+PAT 帕特。

2025-03-13 01:27:17 782

原创 【微知】NVIDIA GPU间通信库NCCL集合通信库的一些基础信息?5种操作?什么是reduce?

在 k 个等级之间的 sum allreduce作中,每个等级将提供一个包含 N 个值的数组,并在 N 个值的数组中接收相同的结果,其中 out[i] = in0[i]+in1[i]+…+in(k-1)[i]Reduce作执行与 AllReduce 相同的操作(操作是跨设备对数据(例如 sum、min、max)执行归约),但仅将结果存储在指定根排名的接收缓冲区中。ReduceScatter作执行与 Reduce 相同的作,不同之处在于结果分散在等级之间大小相等的块中,每个等级根据其等级索引获取一个数据块。

2025-03-13 00:58:09 780

原创 【微知】ib_write_bw如何指定rdma报文的mtu大小?(--mtu=1024; ibv_devinfo | grep -i mtu)

他这个涉及是合理的,硬件上active了一个最大值mtu,实际指定参数的时候可以软件层修改大小,然后不超过硬件的mtu,就能灵活操作。可以看到最大值是4096,但是active的最大值是1024。并且前面报错3,说明是图中active mtu的index。可设置的最大值是active mtu。active mtu和ifconfig中相同。可以看到ifconfig的mtu修改后,在rdma中只会反应一半,为何?可以在实操图中看到MTU的值是256。

2025-03-12 02:46:41 282

原创 【微知】qemu-img如何将一个现有的qcow2文件创建快照?(qemu-img snapshot -c snap.qcow2 org.qcow2; qemu-img snapshot -l xx)

qcow2文件随着运行会不断变化,如何保留某一个环境可以使用snap快照功能,几乎不增加镜像大小,并且还是保留在qcow2文件中。

2025-03-12 02:16:48 193

原创 【微知】如何使用qemu启动arm版本的Anolis操作系统?(-cpu cortex-a72-drive; file=./xx.qcow2; -bios ./QEMU_EFI.fd)

中途遇到多个问题(包括qemu重新编译、更换编译机、更换系统、更换版本、寻找qemu多个版本原因等)一度放弃最后还是解决。这里指定bios和qcow2的磁盘,并且用cortex-a72的cpu和虚拟的机器 指定8个核,2G内存,bios文件使用uefi,指定串口是stdio。下载操作系统的qcow2的格式,qcow2已经安装好了系统,能够直接使用;如果不是aarch64,x86也可以,只是用qemu x86的。身边如果没有ARM相关实际的硬件,但是希望跑操作系统,可以用qemu来操作。

2025-03-11 01:19:55 817

原创 【问题解决】qemu-system-aarch64启动qcow2格式的系统卡在qemu_monitor解决办法(-bios ./QEMU_EFI.fd)?

使用qemu-system-x86_64在启动Anolis的qcow2的系统的时候能够直接启动。但是使用qemu-system-aarch64启动arm架构的qcow2就一直卡在qemu monitor中。经过一段摸索最后发现是因为没有指定bios,aarch64需要指定qemu_efi.fd的efi文件。

2025-03-11 00:59:08 245

原创 【微知】MAC上brew install安装命令报错Error: homebrew-core is a shallow clone如何解决?MAC上如何安装qemu?

本来有这个报错,但是使用–build-from-source能够一定程度解决问题,但是–build-from-source编译总是会因为环境问题有些无法编译。那么本质就是之所以要用–build-from-source是说明本地没有,探后brew下载后自己编译。在git中,blob对象是版本控制的基本单元之一,每个blob对象可以看作是一个文件的快照,包含了文件在某个特定版本下的内容。有些时候还提示要用brew install --build-from-source xxx来安装?

2025-03-11 00:35:13 272

原创 【微知】qemu如何配置ctrl+c不退出qemu系统?(-chardev stdio,id=char0,signal=off)

直接通过qemu启动系统后,经常因为在系统中执行一条命令敲ctrl+c造成系统退出。如何让qemu不响应这个signal?

2025-03-11 00:22:56 258

原创 【微知】如何在Makefile的install阶段拷贝所有头文件到指定地方?(relative_path=$$(realpath --relative-to=$(CWD) $$file))

对于某些情况需要将编译代码路径中的头文件全部提供到某个目录。如何通过make install将这些文件放到指定位置?可以添加到Makefile的install阶段。在install的tag后面添加一个目标tag进行拷贝。

2025-03-11 00:13:35 154

原创 【微知】如何根据内核模块ko查看所依赖其他哪些模块?(modinfo rdma_ucm |grep depends)

有些情况下查看某个模块被哪些模块依赖可以用lsmod看到后面的列表,但是反向查看就要麻烦一些,比如某个模块依赖哪些其他模块?通过modinfo xxx.ko获取里面的depends相关信息。

2025-03-11 00:04:11 321

原创 【问题记录】如何编译nv_peer_memory模块?依赖OFED的4个目录和2类文件?如何解决没有rdma/peer_mem.h文件?

这项新技术在 GPU 内存之间直接与 NVIDIA HCA/NIC 设备之间提供直接的 P2P(点对点)数据路径。这显着降低了 GPU-GPU 通信延迟,并完全减轻了 CPU 的负担。nv_peer_memory模块是网卡提供给GPU使用GDR技术的模块,介于GPU驱动和OFED之间。nv_peer_memory依赖OFED的接口。

2025-03-10 23:57:35 2134

原创 【微知】qemu如何创建一个虚拟硬盘?(qemu-img create -f qcow2 disk.qcow2 20G;QEMU Copy-On-Write version 2)

qemu创建虚拟硬盘后,可以将操作系统安装到这个硬盘中,然后硬盘以文件的形式存在。并且硬盘支持快照等功能还能进行版本管理。以及对外发布版本等。

2025-03-10 22:59:23 151

原创 【微知】mpirun常见参数作用?(mca:Modular Component Architecture;-np 进程数;btl Byte Transfer Layer;openib IB组件)

mpirun 是 OpenMPI 的一个工具,用于启动并行程序。它负责启动多个进程,并在这些进程之间建立通信。mpirun常见参数记录。

2025-03-09 19:49:05 907

原创 【微知】mpirun命令root权限运行被终止,需要添加什么参数?--allow-run-as-root、OMPI_ALLOW_RUN_AS_ROOT=1

mpirun在root权限运行会报错:mpirun has detected an attempt to run as root.

2025-03-09 19:28:17 193

Intel Virtualization Technology for Directed I/O Architecture Specification

这份文件是《Intel Virtualization Technology for Directed I/O Architecture Specification》(版本5.0),编号为D51397-017,发布于2024年8月。它详细描述了英特尔虚拟化技术(Intel VT)中用于定向I/O(Directed I/O)的架构规范,特别是针对I/O虚拟化的硬件支持功能。这份文档为硬件设计者、操作系统和虚拟机监控程序(VMM)开发者提供了实现和使用I/O虚拟化的技术细节和指导。

2025-03-19

ARM-SMMU-Arm System Memory Management Unit(SMMU,系统内存管理单元)

这份文件是关于Arm System Memory Management Unit(SMMU,系统内存管理单元)架构规范的详细技术文档,涵盖了SMMU架构版本3的设计、特性、操作原理以及与其他系统组件的交互方式。SMMU的主要功能是为系统I/O设备的DMA请求提供地址翻译,类似于处理器中的内存管理单元(MMU)为内存访问提供地址翻译。该文档详细描述了SMMU的架构设计、特性、操作流程、数据结构、寄存器定义以及与其他系统组件(如PCI Express、CXL等)的交互方式。

2025-03-19

光互连论坛通用管理接口规范(CMIS)第5.3修订版:模块与主机通信标准及其应用

内容概要:本文件由光学互连论坛(OIF)发布,详细定义了通用管理接口规范(CMIS)第5.3修订版。主要面向光模块和网络设备厂商,提供了一套统一的标准来管理各种插件或板载模块,如QSFP-DD、OSFP等之间的双向通信协议,确保互操作性和全球兼容性。此外还涉及安全特性、固件管理和故障统计等多个方面的内容修改与增强。 适用人群:适用于从事光学数据传输系统的设计工程师和技术管理人员,尤其是负责开发符合国际标准化接口的高速通信模块的专业人士。 使用场景及目标:帮助制造商加速产品上市时间并降低成本风险;支持集成商快速部署稳健的光互联网解决方案;指导供应商按照明确的技术要求生产合规产品。 其他说明:文档中包含了大量技术细节与具体实施指南,对于深入了解当前最新的光互连技术发展趋势具有重要价值。

2025-03-05

SFF-8024-V4.12: SFF Module Management Reference Code Tables

SFF-8024-V4.12: SFF Module Management Reference Code Tables的标准

2025-03-04

SFF-8024: SFF Module Management Reference Code Tables

SFF-8024: SFF Module Management Reference Code Tables

2025-03-04

Bluefield 2固件镜像版本,fw-MBF2M345A-VENOT-ES-Ax-24.40.1000.bin

Bluefield 2固件镜像版本,fw-MBF2M345A-VENOT_ES_Ax-24.40.1000.bin

2024-11-24

DOCA ARGP参数模块的头文件

DOCA ARGP参数模块的头文件

2024-11-17

Mellanox Adapters Programmer’s Referenc 网卡用户编程手册(PRM)V0.4

Mellanox网卡用户编程手册 Mellanox Adapters Programmer’s Reference Manual (PRM) Supporting ConnectX-4 and ConnectX-4 Lx Rev 0.40

2024-11-07

Mellanox Connect-X系列网卡的网卡驱动从V4.2到V24.07-累计21个OFED版本代码

MLNX_OFED_SRC-4.2-1.2.0.0.tgz MLNX_OFED_SRC-4.3-3.0.2.1.tgz MLNX_OFED_SRC-4.4-1.0.0.0.tgz MLNX_OFED_SRC-4.5-1.0.1.0.tgz MLNX_OFED_SRC-4.7-3.2.9.0.tgz MLNX_OFED_SRC-4.9-7.1.0.0.tgz MLNX_OFED_SRC-5.0-2.1.8.0.tgz MLNX_OFED_SRC-5.3-1.0.5.0.tgz MLNX_OFED_SRC-5.4-3.1.0.0.tgz ... MLNX_OFED_SRC-5.9-0.5.6.0.tgz MLNX_OFED_SRC-23.04-1.1.3.0.tgz MLNX_OFED_SRC-23.07-0.5.1.2.tgz MLNX_OFED_SRC-23.10-2.1.3.1.tgz MLNX_OFED_SRC-24.01-0.3.3.1.tgz MLNX_OFED_SRC-24.04-0.7.0.0.tgz MLNX_OFED_SRC-24.07-0.6.1.0.tgz

2024-11-01

ArmV9 Architecture Reference Manual for A-profile architecture

ArmV9 Architecture Reference Manual for A-profile architecture.pdf. This Manual describes the Arm architecture v8, Armv8, and the Arm architecture v9, Armv9. The architecture describes the operation of an Armv8-A and an Armv9-A Processing element (PE). - Part A, Introduction and Architecture Overview - Part B, The AArch64 Application Level Architecture - Part C, The A64 Instruction Set - Part D, The AArch64 System Level Architecture - Part E, The AArch32 Application Level Architecture ...

2024-10-25

Bluefield DPU user manual文档

Bluefield DPU user manual文档

2024-10-08

NVIDIA网卡系列之ConnectX-3用户手册

NVIDIA网卡系列之ConnectX-3用户手册

2024-10-05

NVIDIA网卡系列之ConnectX-4用户手册

NVIDIA网卡系列之ConnectX-4用户手册

2024-10-05

NVIDIA网卡系列之ConnectX-5用户手册

NVIDIA网卡系列之ConnectX-5用户手册

2024-10-05

低压差线性稳压器AZ1084D-ADJE1数据手册

低压差线性稳压器AZ1084D-ADJE1数据手册

2024-10-05

P100驱动-支持黑神话悟空版本-538.67

P100驱动-支持黑神话悟空版本-538.67-quadro-rtx-desktop-notebook-win10-win11-64bit-international-dch-whql.exe

2024-09-08

翻译版 拥塞控制算法系列之:Swift-谷歌2020年SIGCOM-包级别端到端TIMELY拥塞控制算法

翻译版 拥塞控制算法系列之:Swift-谷歌2020年SIGCOM-包级别端到端TIMELY拥塞控制算法

2024-04-01

Graphviz自动根据文件生成时间序列图脚本和示例demo文件

Graphviz自动根据文件生成时间序列图脚本和示例demo文件

2023-09-13

Graphviz自动根据文件生成时间序列图脚本和示例demo文件

Graphviz自动根据文件生成时间序列图脚本和示例demo文件

2023-09-13

Graphviz-创建年表yearline示例代码.py.zip

Graphviz-创建年表yearline示例代码.py.zip

2023-09-12

c语言函数调用关系图自动生成方法之使用egypt和gcc的-fdump-rtl-expand生成Graphviz

c语言函数调用关系图自动生成方法之使用egypt和gcc的-fdump-rtl-expand生成Graphviz

2023-09-07

代码块-一个简单的Linux内核模块c和makefile代码

代码块-一个简单的Linux内核模块c和makefile代码

2023-08-07

空空如也

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

TA关注的人

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