- 博客(15)
- 收藏
- 关注
原创 一些常用的网站链接/脚本
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
原创 什么是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
原创 eevdf 内核调度器 源码分析 (4)
前几篇文章讲解了eevdf的基本原理,本篇文章主要分析,为什么要用eevdf替换cfs,它有什么优点?为什么有这些优点?
2024-11-21 20:48:15
750
原创 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
原创 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
离线安装 nvidia-docker2(nvidia-container-toolkit)
2025-04-10
nvidia-gpu-fp16-benchmark
2025-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人