- 博客(160)
- 收藏
- 关注
原创 pytorch通过change_current_allocator获取所有的子Module实际的内存占用情况
目的:需要准确统计pytorch每一层计算所需的设备内存问题:对齐的原因,直接使用torch.cuda.memory_allocated()并不准确方法:设置CUBLAS_WORKSPACE_CONFIG,排除CUBLAS_WORKSPACE的影响使用torch.cuda.memory.change_current_allocator设置自己的内存分配器在自己的内存分配器里记录内存分配情况。
2024-07-19 20:39:43 386
原创 从NVIDIA Nsight Compute内置的Sections中提取出所有的Metric及名称
从NVIDIA Nsight Compute内置的Sections中提取出所有的Metric及名称
2024-07-12 20:12:43 174
原创 将具有多个sheet的excel表格中所有sheet某一列翻译成中文,且保留原始样式
将具有多个sheet的excel表格中所有sheet某一列翻译成中文,且保留原始样式
2024-07-12 20:05:10 507
原创 NVIDIA_Nsight_Compute_Metrics解释(非query-metrics部分)
NVIDIA_Nsight_Compute_Metrics解释(非query-metrics部分)
2024-07-12 19:51:58 1599
原创 LLM生成的CUDA CUPTI Metrics for Capability 7.0解释
LLM生成的CUDA CUPTI Metrics for Capability 7.0解释
2024-07-09 20:54:42 830
原创 LLM生成nvidia-h100-tensor-core-hopper-whitepaper.pdf摘要
LLM生成nvidia-h100-tensor-core-hopper-whitepaper.pdf摘要。
2024-07-08 22:27:35 305
原创 NVIDIA H100 Tensor Core GPU摘要
架构设计H100 GPU 提供了多种配置,包括 GH100 全尺寸版本、SXM5板型以及PCIe板型。全尺寸GH100包含8个GPCs、72个TPCs和144个SMs,而SXM5和PCIe板型分别拥有132和114个SMs。每个SM配备128个FP32 CUDA核心,全尺寸GH100总计有18432个,SXM5和PCIe版则分别为16896和14592个。张量核心第四代张量核心,每个SM包含4个,全尺寸GH100总计576个,SXM5和PCIe版分别有528和456个。
2024-07-08 22:25:21 773
原创 LLM生成的CUDA C++ Programming Guide 摘要
GPU的优势:与CPU相比,GPU在相同价格和功耗范围内提供更高的指令吞吐量和内存带宽。这使得许多应用在GPU上运行速度更快,特别是在高度并行计算场景下。GPU与CPU设计差异:CPU设计用于快速执行单一线程操作,并行处理少数线程;而GPU设计用于同时高效执行数千个线程,通过大量并行计算来抵消单线程性能较慢的问题,从而实现更高的吞吐量。CUDA介绍。
2024-07-08 22:21:10 917
原创 用大模型提取《cuda-c-programming-guide》的摘要并输出中文
想快速知道CUDA C++ Programming Guide中的内容。打开网页,保存成mhtml内容,用以下脚本提取内容,调用qwen大模型生成摘要。当然,还可以对摘要再提一次摘要。
2024-07-06 20:31:05 340
原创 通过装饰器将有BUG的pytorch算子放置在CPU上,而不用修改模型代码
某些pytorch算子发下到设备后会导致设备异常,为了暂时规避,先放在CPU上执行修改模型源码很不友好,可以采用以下方法。
2024-07-05 21:03:02 227
原创 Excel为数据绘制拆线图,并将均值线叠加在图上,以及整个过程的区域录屏python脚本
Excel中有一组数据,希望画出曲线,并且能把均值线也绘制在图上,以下动画演示了整个过程,并且提供了区域录屏脚本,原理如下:为节约空间,避免剪辑,只记录有效区域【仅记录鼠标区域且图像变化的图片】
2024-07-04 22:02:51 428
原创 ui.perfetto.dev sql 查询某个事件范围内,某个事件的耗时并降序排列
ui.perfetto.dev sql 查询某个事件范围内,某个事件的耗时并降序排列
2024-07-03 20:00:24 435
原创 分析Profiler Timeline中的算子序列,通过寻找频繁项集的办法,得到TOPK可融合的算子序列
本文尝试分析Profiler Timeline中的算子序列,通过寻找频繁项集的办法,得到TOPK可融合的算子序列。
2024-07-03 10:15:58 741
原创 将数据切分成N份,采用NCCL异步通信,让all_gather+matmul尽量Overlap
本文演示了如何将数据切分成N份,采用NCCL异步通信,让all_gather+matmul尽量Overlap。
2024-07-02 22:37:01 821
原创 Megatron-DeepSpeed与Megatron-LM在reduce grad上的差异
测试DP=1,TP=2,PP=1,MBS=1,zero_stage=0时Megatron-DeepSpeed与Megatron-LM的性能差异发现它们在处理gradients时方法不同目前Megatron-DeepSpeed还没有合入Megatron-LM ParamAndGradBuffer的修改flatten->all_reduce->unflatten 【二次IO】Megatron-DeepSpeed链接分配一大块连续内存,通过视图的方式给相关的grad使用,all_reduce时不需要多余的I
2024-07-02 09:51:49 379
原创 Nsight Compute 是怎么计算Roofline的呢
发现Nsight Compute中的Peak Work跟峰值算力对不上.这里进一步分析。
2024-06-28 21:22:12 1201
原创 用Roofline模型去分析pytorch和Triton算子
本文演示了如何用Roofline模型去分析pytorch和Triton算子遗留问题:NVIDIA Nsight Compute中的Peak Work是怎么算出来的,又不是峰值算力。
2024-06-27 21:06:15 555
原创 pytorch为自己的extension backend添加profiler功能
本文演示了pytorch如何为自己的extension backend添加profiler功能
2024-06-27 11:48:47 1058
原创 以Bert训练为例,测试torch不同的运行方式,并用torch.profile+HolisticTraceAnalysis分析性能瓶颈
以Bert训练为例,测试torch不同的运行方式,并用torch.profile+HolisticTraceAnalysis分析性能瓶颈。
2024-06-27 09:39:31 751
原创 测试cudaStream队列的深度
以下代码片段用于测试cudaStream队列的深度方法: 主线程一直发任务,启一个线程cudaEventQuery查询已完成的任务,二个计数器的值相减。
2024-06-19 22:25:14 307
原创 以MixtralForCausalLM为例,演示如何不依赖框架实现pipeline并行
本文以MixtralForCausalLM为例,演示如何不依赖框架实现pipeline并行。
2024-06-17 20:29:58 737
原创 MixtralForCausalLM DeepSpeed Inference节约HOST内存【最新的方案】
本文演示了MixtralForCausalLM DeepSpeed Inference如果节约HOST内存方法:每个rank分别保存,并且使用accelerate的init_empty_weights。
2024-06-17 15:13:32 485
原创 Ubuntu 18.04下普通用户的一次提权过程
1.OS为Ubuntu 18.04.6 LTS2.docker服务非开机自启动,需要管理员手动启动(之前并不知道)3.重启后,数据盘也需要管理员手动挂载(之前并不知道)4.目前给我的帐号为普通用户5.我需要测试关掉IOMMU的效果,得进BIOS设置,服务器在远程,又遇到周末没人支持6.万幸我的帐号有–privileged启动容器的权限。
2024-06-15 20:18:39 860
原创 DeepSpeed Inference如何节约HOST内存
本文演示了DeepSpeed Inference如何节约HOST内存方法:每个rank分别保存,并且使用accelerate的init_empty_weights。
2024-06-14 22:31:54 401
原创 不破坏预训练模型结构且与Lora微调后的模型等价
Lora模块的引入破坏了图优化逻辑,是否能在不破坏原始的图的情况下,通过修改权值等价实现呢: 将Lora的结果做为Ground True,去训练原始的Linear: 方案虽然可行,但计算成本太高,Lora的初衷是减少微调的计算量。
2024-06-14 10:53:15 243
原创 本文基于DeepSeek-V2-Chat多卡推理,演示了几种不同的Profing方法
本文基于DeepSeek-V2-Chat多卡推理,演示了几种不同的Profing方法。
2024-06-13 21:23:45 427
原创 DeepSeek-V2-Chat多卡推理(不考虑性能)
本文演示了如何使用accelerate推理DeepSeek-V2-Chat(裁剪以后的模型,仅演示如何将权值拆到多卡)
2024-06-12 22:12:06 570
原创 下载NVIDIA官网的培训视频,生成中文字幕和PPT
想学习NVIDIA官网上的培训视频,但视频没有字幕,又希望能离线观看,以下的操作步骤。1.m3u8视频的下载及转换。3.ffmpeg字幕的使用。2.whisper的使用。
2024-06-11 10:44:21 1000
原创 人与自然的关系-20240611
似乎,现代科技是想去征服一切未知,希望一切都能解释,可复现,可操控。但人类的意识与其它之间是否存在一种对话机制呢。高一层次的人看低层次的人犯错,一般是不会提醒的,因为提醒也没有用,每个人都有自己的因缘。如果人类的方向错了,是否也不会有什么提醒,顺其自然。
2024-06-11 07:58:28 77 1
linux基于LD-PRELOAD机器的内存泄露检测工具
2024-05-17
ffmpeg 异步推理filter源码
2024-03-21
grpc v1.62.0
2024-03-19
C#实现的键盘记录后台程序,可运行在win10/win11系统.能记录各种键盘按键,并将字符保存到文件中
2024-02-20
怎么能把CSDN上的博文自动生成短视频呢
2024-02-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人