自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【NCCL】NCCL 中的channel 是什么概念?

(编译后生成nccl.h)和公开 API 中不直接暴露(内部实现),但上层通过ncclComm_t(通信对象)间接引用 Channel;内部结构体定义在,核心字段包括:int id;// Channel 唯一标识// 关联的通信对象(包含 Group 信息)// 发送缓冲区// 接收缓冲区// 缓冲区大小// 传输类型(PCIe/NVLink/IB)// 对端 GPU 信息(设备号、地址等)// 同步原语(信号量、事件等,确保传输有序)

2025-11-12 21:04:00 703

原创 【RDMA】mlx5dev mlx5dv_devx 接口

mlx5dv_modify_qp_udp_sport 和 mlx5dv_devx_obj_modify 都可以用于修改 RoCE 的 UDP 源端口,mlx5dv_modify_qp_udp_sport 本质上是对 mlx5dv_devx_obj_modify 的封装和特化,它最终会调用 mlx5dv_devx_obj_modify 来完成对 QP 的 UDP 源端口的修改。mlx5dv_modify_qp_lag_port 修改的是 QP 的物理端口号(LAG port)。

2025-10-30 20:39:00 1009

原创 【RDMA】Adapters PRM Mellanox Adapters Programmer’s Reference mellanox网卡编程手册0.52

Mellanox 网卡程序员参考手册 (PRM) 文档。

2025-07-25 23:55:00 150

原创 【GPU】CUDA、OpenCL、OpenMP、OpenACC等并行运算框架区别

是一个类似于OpenMP的编程接口,专门为加速器(如GPU)设计。它通过使用编译制导语句来简化并行计算的编程工作,让开发者能够更容易地将计算任务迁移到加速器上执行。OpenACC的目标是降低使用加速器进行高性能计算的技术门槛,使非专家也能有效地利用这些资源。版本更新很快,但仅限N卡。OpenCL跨平台,社区貌似不太活跃,更新不如CUDA。:适合需要快速将CPU代码移植到GPU上的并行计算任务。主要是针对CPU,最近开始支持GPU了,SIMT(线程网格)

2025-04-15 06:20:00 816

原创 【C/C++】内存屏障概念、原理和用途

内存屏障通过限制指令重排序和确保内存可见性,保证多线程环境下的操作顺序和一致性,广泛应用于多线程编程、操作系统内核和硬件设备驱动中。是 CPU 指令内存屏障,由编译器生成特定的硬件指令。C++11 及更高版本提供了标准化的内存屏障支持,主要通过和实现。volatile不能替代内存屏障,仅用于防止编译器优化。

2025-02-17 20:06:00 426

原创 【设计模式】装饰器模式(Decorator Pattern)

装饰器模式(Decorator Pattern)是一种结构型设计模式。装饰器模式通过创建一个装饰类,包装原始对象,并在保持原始对象接口不变的情况下,扩展其功能。

2024-12-26 16:49:00 172

原创 【C++】设计模式

提供了一种创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

2024-12-25 18:27:00 723

原创 【DAOS】CaRT初始化过程和数据发送代码

msg_send_unexpected的定义和赋值的定义 mercury-master-commiut\src\na\na.hstructbool (*的赋值在 mercury-master-commiut\src\na\na.h//op数组= {是宏推出展开是每一种provide 都用这个宏定义了自己的结构体:/*#endif#endif#endif#endif#endif。

2024-12-16 03:19:00 580

原创 编译src.rpm源码包的方法

以rpm -ivh /tmp/mlnx-ofa_kernel-5.8-OFED.5.8.1.1.2.1.src.rpm 为例。#源码包会安装到/root/rpmbuild/SOURCE 它对应的spec放到/root/rpmbuild/SPECS。yum install rpmbuild 或 yum install rpm-build。

2024-10-10 21:23:00 149

原创 【RDMA】mlxconfig修改和查询网卡(固件)配置--驱动工具

mlxconfig 工具允许用户在不重新烧录固件的情况下更改某些设备配置。配置在重启后仍然保留。默认情况下,mlxconfig 显示将在下次启动时加载的配置。对于第五代设备,还可以查询默认配置以及当前运行的固件所使用的配置。属于mft工具套件的一个工具,固件工具 Firmware Tools (MFT):https://blog.csdn.net/bandaoyu/article/details/142427579语法例子和参数。

2024-09-22 01:03:00 949

原创 【C/C++】Jemalloc + Jeprof内存泄漏分析

需要include jemalloc的头文件并链接jemalloc库: gcc -I/usr/local/jemalloc-5.1.0/include main.c -L/usr/local/jemalloc-5.1.0/lib -ljemalloc。(原文:https://docs.tibco.com/pub/activematrix_businessworks/6.6.1/doc/html/GUID-231E1EFC-EA7C-4072-B0F4-0D92093D3161.html)

2024-04-10 01:16:00 625

原创 【RDMA】rdma-core驱动源码包|ibverbs|rdmacm

libibverbs RDMA 内核驱动程序的用户空间组件包含在 providers/ 目录下。这是 Linux 内核驱动程序的用户空间组件,属于/infiniband 子系统。rpm -ivh rdma-core-58mlnx43-1.58112.src.rpm 安装完成后。rdma_xclient.c 和 rdma_client.c 的区别。源码解压到:/root/rpmbuild/SOURCES/rdma_xclient.c 客户端只发,接收端只收。驱动包例子的源码在驱动包的excample内。

2023-12-31 19:14:00 423

原创 【时钟】分布式时钟HLC|Logical Time|Vector Clock|True Time

分布式系统中不同于单机系统不能使用NTP(网络时间协议(Network Time Protocol))来获取时间,所以我们需要一个特别的方式来获取分布式系统中的时间,mvcc也是使用time保证读写相互不影响。各个节点发送消息时附带自己的时间Ci,对方收到之后和自己的时间Cj 比对,选择大的时间更新为自己的时间Cj = max{Cj,Ci}.本机:{0,3,1} 消息:{0,1,2}。本机:{0,0,1} 消息:{0,1,2}。本机:{0,1,2} 消息:{0,1,1}。

2023-12-31 01:52:00 244

原创 【RDMA】librdmacm库和连接建立过程

rdma_cm是用于建立RDMA传输上的通信的管理器。

2023-10-19 04:50:00 27

原创 【shell】shell脚本模板和规范

小写驼峰命名,如pathName。大写驼峰命名,如PathName。大写加下划线,如MAX_DEV_CNT=32。小写加下划线,如path_name=/dev/nvme0。

2023-04-16 01:52:00 17

原创 【shell】遇到错误退出set -e|set -u|set -x|shell 退出时执行|捕捉信号trap

set -e #脚本里面有返回值非0命令/运行失败的命令 就退出set -u #如果遇到不存在的变量,就退出sh -x my.sh 回整个脚本都输出调试信息,太多了使用set -x开启某一段的调试信息:set -x 开始调试;set +x 结束调试;-x还有另一种写法-o xtrace。arg可以是shell命令或者自定义函数sigspec定义在<signal.h>中的信号名或者数值,SIG前缀是可选的,大小写不敏感,可以一个或多个。

2023-04-05 17:35:00 21

原创 【shell】shell脚本静态检查工具 shellcheck

shellcheck 是一款实用的 shell脚本静态检查工具,可以帮助你提前发现并修复简单的语法错误,节约时间。

2023-04-03 20:07:00 34

原创 【网络】为什么单个TCP连接很难占满带宽

如果你需要用单个 TCP 连接把带宽占满,你必须把滑动窗口设置成带宽 * 网络延时那么大。这样来想这个问题,从甲地到乙地,寄一封信的时间为 2 年(网络延时), 甲地每年往乙地最多能寄 100 封信(带宽), 那么从甲地到乙地邮寄的路程上,一共最多有多少封信在寄?答案是 200 封, 很简单,假设甲地把带宽用满, 第一年寄 100 封,第二年寄 100 封,而这 200 封信都没有能到达乙地。我发现 1 秒钟,我的大脑很难理解它为一段时间,所以我把它拉长为 2 年,数据包我改成送信。

2023-02-24 10:28:00 19

原创 【linux】shell程序后台运行nohup和&的区别

当使用`nohup`命令时,系统会自动将命令的输出重定向到一个名为`nohup.out`的文件中,在命令执行过程中不会受到`HUP`信号的影响。因此,如果您需要在后台运行一些长时间运行的命令,应该使用`nohup`命令,否则,当用户退出Shell时,命令将被终止。2. 在使用`&`方式后台运行程序时,命令会与Shell进程共享标准输入、输出和错误流,在Shell退出时,后台进程也会被终止。这会将`command`命令以后台方式运行,并将其输出重定向到`output_file`中。

2023-02-17 00:49:00 22

原创 【Linux】nm命令|查看动态库包含的函数符号

Linux nm命令详解_https://blog.csdn.net/qq_36393978/article/details/124104635nm来源于name的简写。该命令用来列出指定文件中的符号信息(如常用的函数名、变量等,以及这些符号存储的区域)。nm缺省情况下报告十进制符号表示法下的数字值。

2023-01-28 22:42:00 22

原创 【linux】内核模块管理:lsmod、insmod、rmmod、modinfo、modprobe、depmod命令

1、lsmod:查看内核已加载的模块2、modinfo:查看模块的基本信息intree: Y3、insmod:将指定模块加载到内核,建议使用modeprobe命令4、rmmod:将已加载模块从内核中移除,建议使用modeprobe命令5、modprobe:加载或卸载内核模块,需要根据modules.dep.bin文件进行加载操作,可以自动解决模块间的依赖关系表[root@localhost ~]# modprobe ext4 #加载模块。

2023-01-06 17:52:00 27

原创 【容器】K8S|Podman|容器技术总目录|问题记录

在调试mysql-operator和mysql,在部署mysql的过程中,一直出现,mysqld: File ‘/var/lib/mysql-bin.index’ permission deined或者报错Can’t find error-message file ‘/usr/local/mysql/errmsg.sys’

2022-11-26 23:06:00 17

原创 【容器】Podman和常用命令

【代码】【容器】Podman和常用命令。

2022-11-24 21:10:00 44

原创 【管理】日报,周报,会议记录模板

以前存储前端网络不支持xxxx,现在文件系统前端网络IO支持xxxx……进度6/93,进展6%,累计问题单5个,DI12.5;累计处理问题/累计发现问题:12/15。小组软件过程会议记录第X次会议记录。今日xxxx,xxxxx。

2022-10-29 22:49:00 29

原创 【git】Git 指令统计代码行数

以下绝大部分摘自:https://blog.csdn.net/qq_39529663/article/details/107763133。8、统计所有Java代码总行数提交修改的信息(有明细展示)3、统计每个用户的所有提交代码行数(包括增、删、修改等)9、统计所有其他文件总行数提交修改的信息(有明细展示)6、统计代码提交的人数,也称:统计仓库提交贡献者。2、统计某个人某个时间段内的代码行数;5、统计某个用户的所有提交代码行数。1、统计某个时间段内的代码行数;10、统计所有文件提交记录明细。

2022-10-24 20:17:00 18

原创 【linux】rpm和src.rpm、rpm和noarch.rpm的区别

rpm的概念——Redhat Package Manager,翻译过来就是,红帽包管理器。这里关键字有“红帽”、“包”和“管理器”。“红帽”是linux操作系统服务商,“包”是一指包含完整特定功能的代码集合,“管理器”是用于管理“包”的工具。1.安装软件:执行rpm -ivh rpm包名升级软件:执行rpm -Uvh rpm包名。3.反安装:执行rpm -e rpm包名称。4.查询软件包的详细信息:执行rpm -qpi rpm包名称5查询文件属于哪个rpm包:执行rpm -qf rpm包名称。

2022-10-24 11:51:00 21

原创 【指针】指针有效性检测必要性|空指针/无确切类型指针 viod *

目录 指针有效性的有效性检测的必要性!! 题目: 解说: 空指针/无确切类型指针 viod * 指针有效性的有效性检测的必要性!! 2012-04-01 22:44:42 题目: 已知strcpy函数的原型是: char * strcpy(char * strDest,const char * strS...

2022-10-04 01:31:00 315

原创 【物联网】SIM908/508 GPRS发送数据|送数据控制符|透明传输

目录 SIM908/508 GPRS发送数据中的控制符 sim300 GPRS数据收发程序 【GPRS透明传输】GPRS透明传输 GPRS应用中TCP与UDP的比较 【GPRS IP地址】GPRS IP地址的问题 SIM908/508 GPRS发送数据中的控制符 今天发送一组数据,发现数据每次都是只发送到一半,后面的...

2022-10-04 01:31:00 924

原创 【C/C++】C语言获取日期时间|sleep休眠|time|sleep函数

目录 统计时间 Windows &&linux通用 high_resolution_clock Windows环境 1. 获取当前时间,可精确到秒(Windows) 2.精确到毫秒 3.精确到1/CLOCKS_PER_SEC 秒等更高精度 Unix环境 VS界面查看运行时间统计 VC环境 获取时间打印日期 time...

2022-10-04 01:31:00 1367

原创 【zigbee】zigbee资料下载 和 zigbee与433模块的优劣

zigbee vs 433 基于ZIGBEE技术的无线模块与市场通用的433MHZ模块比较1)频间干扰:433MHZ存在严重的频间干扰.ZIGBEE没有2)频内干扰:433MHZ存在严重的频内干扰.ZIGBEE可以解决3)抗干扰能力:433MHZ是FSK调制方式.抗干扰能力不强.ZIGBEE是DSSS是扩频通讯.抗干扰能力强....

2022-10-04 01:31:00 657

原创 【windows】设置远程桌面连接?多用户登录设置?取消登录密码

设置远程桌面连接? 被访问的机器需要作以下这些设置 WINDOWS XP 需要关闭防火墙 然后开启远程桌面服务 打开控制面板--性能和维护--管理工具--服务,将以下服务开启: Server Terminal Services Telnet NT LM Security Support Provider(Telnet需要依存与此服务,因此需要先...

2022-10-04 01:31:00 1542

原创 【嵌入式】MSP430系统实时时钟RTC学习日志(完善中)

目录 MSP430系统实时时钟RTC 【时钟初始化】系统时钟初始化需要注意的问题 MSP430F149时钟源选择(部分转) MSP430 系统时钟 ACLK、MCLK、SMCLK 【MSP430时钟】MSP430 5438时钟系统介绍 MSP430X5XX的时钟系统与低功耗模式 MSP430X5XX的时钟系统与低功耗模...

2022-10-04 01:31:00 1916

原创 【跑飞、死机】单片机 msp430程序跑飞原因和解决方式积累

目录 单片机 msp430程序跑飞原因和解决方式积累 MSP430 数组填充越界引起的栈溢出 导致程序跑飞 【单片机重启】MSP430重启/频繁重启/跑飞 原因分析 单片机 msp430程序跑飞原因和解决方式积累 1.中断或主函数中有死循环,现象是程序停在某处。 2.堆栈溢出。现象是程序跑飞。 *****...

2022-10-04 01:31:00 3013

原创 【USCI】UART、IrDA、SPI、I2C MSP430学习经

2010-06-28 18:40 SPI、IIC、UART区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal ...

2022-10-04 01:31:00 730

原创 【C语言】C语言学习知识积累-C语言中return的妙用

2011.10.13 1、习惯上,符号常量名用大写,变量名用小写,以示区别。 如:#define PRICE 30 2、有的编译系统允许变量名的长度为8位,注意变量名长度控制,和了解编译器。 2011.10.17 1、注意浮点数舍入的误差:一个浮点型变量只能保证的有效数字是7位,a=123456.789e5+20=a, 20被...

2022-10-04 01:31:00 207

原创 【C/C++】引号和尖括号的区别|默认include路径配置|头文件应放些什么|static和extern...

目录 引号和尖括号区别 默认include路径设置 查看添加结果 关于static和extern、头文件的一点总结。 头文件中应该放些什么2 引号和尖括号区别 用尖括号 #include <>: 一般用于包含标准的库头文件,编译器会去系统配置的库环境变量和者用户配置的路径去搜索,而不会在项目的当前目录去查找 用双引号 #in...

2022-10-04 01:31:00 1035

原创 【C/C++】数值转换成字符串|字符串转换成数值|进制转换

目录 string与数值的转换 string与数值的转换 C++11 C++11之前 格式化数字字符串 string 和 char * 之间互相转换 C++11中int、char和string常用类型的相互转换方法 int类型转float类型 fl...

2022-10-04 01:31:00 1473

原创 【MSP430】5438 定时器A TIMER A 新认识|定时器A 划分几个独立时间间隔

目录 定时器A TIMER A 新认识 msp430的定时器A 划分几个独立时间间隔 定时器A TIMER A 新认识 2011-06-02 21:18:50 6月2日周四晴定时器A 现在的认识: MSP4305438有3个时钟,分别是TA0、TA1和TB 了解了定时...

2022-10-04 01:31:00 418

原创 【中断】msp430的中断|中断优先级|中断嵌套(及容易理解错误的说明)

目录 msp430的中断优先级和中断嵌套 MSP430 怎么开关中断,开关中断的代码|命令 msp430的中断优先级和中断嵌套 MSP430的中断优先级按所在的向量的大小排列,中断向量地址越高优先级就越大,但是默认的MSP430是不能中断嵌套的,要想在执行某一中断时能够响应更高优先级的中断,需要在低优先级的中断程序中手动打...

2022-10-04 01:31:00 903

原创 MSP430:P1OUT=4、P1OUT |=4、P1OUT &-=~8|P3DIR|=BIT0、P3OUT&=~BIT0 的含义的意思

首先,msp430没有P0口的,按P1口来说明P1OUT = 4; P1.2引脚输出高电平,P1其余引脚输出低电平;P1OUT |= 4;P1.2置高电平,P1其余引脚不变;P1OUT &= ~8;即P1OUT &= 0xf7,P1.3置低电平,P1其余引脚不变;|是或运算符,&是与运算符,具体请参考C语言应用运算...

2022-10-04 01:31:00 887

空空如也

空空如也

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

TA关注的人

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