自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NCCL使用指南-进阶篇

前文介绍了NCCL的常用环境变量,本文介绍了NCCL-test性能基准测试,以及一些大规模集群测试的经验数据。

2025-04-10 14:42:37 444

原创 一些常用的网站链接/脚本

nvidia 一些驱动的发布信息:nvidia 下载驱动的链接:nvidia cuda镜像:获取nvlink带宽: get_nvlink.sh验证hpc工作:test_hpc.sh。

2025-04-10 14:13:33 156

原创 离线安装 nvidia-docker2(nvidia-container-toolkit)

很多时候大家都有用docker使用gpu的需求,但是因为网络等原因不是那么好用,这里留了一个给ubuntu的安装包,网络好的话也提供了在线安装方式。

2025-04-10 13:45:11 167

原创 GPU通讯-基础篇

本文粗略介绍了gpu在通讯方面的演进,发展,及一些基础的性能调优思路。

2025-04-10 13:24:12 536

原创 什么是cuda: 三个cuda的含义

在我们的机器中,也就是相当于预装了driver cuda和runtime cuda,而且一般driver cuda == runtime cuda,出现这种现象不是巧合,因为driver cuda集成在驱动中,而驱动经常和runtime cuda一起打包发行,所以版本都是相同的,事实上预装时runtime cuda可以低一些,不影响使用。tensorflow 未集成 ----------> 12.5(使用全局cuda)而nvidia-smi 看到的,是driver cuda。

2025-04-10 13:17:33 217

原创 nccl使用指南-基础篇

NCCL基础使用

2025-04-10 11:50:45 868

原创 eevdf 内核调度器 源码分析 (4)

前几篇文章讲解了eevdf的基本原理,本篇文章主要分析,为什么要用eevdf替换cfs,它有什么优点?为什么有这些优点?

2024-11-21 20:48:15 750

原创 内核调度器性能分析小工具

本文会简要介绍一些内核调度器性能分析小工具,大概讲解一下原理,使用方式。

2024-11-21 13:19:26 1105

原创 eevdf 内核调度器 源码分析 (3)

上一篇文章介绍了当进程睡眠或就绪时,eevdf调度器的处理,本篇文章介绍eevdf调度器如何选择下一个运行的进程,包括睡眠抢占的逻辑。一个pick_eevdf函数,eevdf的核心逻辑展现的淋漓尽致,当然它还是做了一定妥协,给任务一个最短运行时间。至此eevdf的基本逻辑就分析完成了,那么这样做的好处是什么,为什么会,哪些场景会优于cfs?关注一下, 下一篇文章会进行分析。

2024-11-19 18:46:54 1133

原创 eevdf 内核调度器 源码分析 (2)

上一篇文章介绍了eevdf的一些基础概念和实现,本篇文章主要讨论涉及到进程出现睡眠或就绪等状态变化时,eevdf调度器的处理。本文讨论了 eevdf 进程睡眠就绪等逻辑的处理, 下一篇文章会讲解tick时选择下一个运行进程,和唤醒抢占的逻辑。

2024-11-19 15:46:23 1153

原创 eevdf 内核调度器 源码分析 (1)

本文会从源码角度,简单分析eevdf(Earliest Eligible Virtual Deadline First)内核调度器。阅读本文需要一定cfs调度器的基础知识。

2024-11-18 18:23:21 1446 1

原创 cfs的负载均衡(2)load_balance的工作流程

接上文,本文主要介绍load_balance的工作流程。

2024-11-13 20:51:05 1042

原创 cfs的负载均衡(1)触发时机

本文粗略介绍了load balance的时机,下一篇文章会介绍load balance的工作流程。

2024-11-13 11:29:44 995

原创 msix中断 pci_alloc_irq_vectors_affinity 简单分析

这里主要操作在于,irq_affinity决定了有哪些中断不需要affinity,所以这里判断了一个逻辑min(cpus, vecs),比如我是8核处理器,申请10个中断,其中2个中断不需要绑核,这样刚刚好,但是我要是申请11个中断,其中两个中断不需要绑核,那就有一个需要绑核的中断无核可绑(禁止ntr),所以系统建议,最多只申请10个中断。在这里面,irq_create_affinity_masks 非常重要,因为正是这里,真正意义上准备好了绑核。先看irq_calc_affinity_vectors。

2023-12-04 16:29:40 1510

原创 msix 中断解析

中有request irq的操作,也就是绑定irq和handle,但是在这之前需要先申请irq,因为irq自然不是自己随便设个值就能用的,是需要内核进行管理,也就是pci_alloc_irq_vectors_affinity要做的事情,这个函数做的事情有很多,大体上可以总结为,分配好irq, 每个irq对应一个msg,或者叫 entry ,比如申请了8个中断,就把这些msg信息一项一项写到pci设备对应的bar里面,这些信息的头一般叫做 msix table。一般中断,只需要通知到一个cpu就可以了!

2023-11-29 15:10:47 1282 1

获取nvlink的使用带宽

获取nvlink的使用带宽

2025-04-10

验证hpc工作测试脚本,一些常用项

验证hpc工作测试脚本,一些常用项

2025-04-10

获取rdma网卡流量脚本

使用方式bash get_net_speed.sh eth0

2025-04-10

离线安装 nvidia-docker2(nvidia-container-toolkit)

离线安装 nvidia-docker2(nvidia-container-toolkit)

2025-04-10

简单多机多卡训练代码示例

最简单的多机多卡训练代码

2025-04-10

nvidia-gpu-fp16-benchmark

nvidia的标称计算能力flops,实际中很难达到,但是到底能达到多少,本人愣是没有找到一个好的测试方法。nvidia官方倒是提供了一些二进制,但是需要签署各种协议也不能外传,于是这里简单写了一个cuda代码,实测基本能达到gpu标称值(稠密fp16性能)的80%: A800 299 TFLOPS H200 814 TFLOPS

2025-01-14

rt-tests 调度器性能分析

rt-tests 调度器性能分析

2024-11-20

空空如也

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

TA关注的人

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