自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NsightComputeProfiling入门

本文是NsightCompute的一个演示。

2024-07-22 20:20:47 317

原创 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 GPU设备节点映射关系

【代码】查看NVIDIA GPU设备节点映射关系。

2024-07-18 13:45:08 978

原创 Volta独立线程调度

从Volta开始支持独立线程调度(Independent Thread Scheduling)

2024-07-17 09:16:10 357

原创 从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

原创 CUDA Kernel Profiling Guide LLM翻译

CUDA Kernel Profiling Guide LLM翻译

2024-07-10 22:25:28 781

原创 CUDA Kernel调试与优化--背景知识扫盲(LLM生成)

CUDA Kernel调试与优化--背景知识扫盲(LLM生成)

2024-07-09 20:59:50 1194

原创 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

原创 pytorch LLM训练过程中的精度调试实践

本文记录了,在某加速卡上进行LLM训练,精度问题的定位过程

2024-07-06 18:59:21 505 1

原创 通过装饰器将有BUG的pytorch算子放置在CPU上,而不用修改模型代码

某些pytorch算子发下到设备后会导致设备异常,为了暂时规避,先放在CPU上执行修改模型源码很不友好,可以采用以下方法。

2024-07-05 21:03:02 227

原创 GPU相关的一些截图(备查,待整理)

这里记录一些与GPU相关的截图,方便查阅。

2024-07-04 22:14:01 217

原创 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

原创 python实现API调用缓存

想把python某些函数的参数及返回值记录下来,如果之前已计算过,则直接返回缓存中的数据。

2024-06-28 16:32:39 433

原创 用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

原创 Chrome Tracing flow event demo

【代码】Chrome Tracing flow event demo。

2024-06-25 21:04:24 209

原创 测试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

原创 以bert为例,了解Lora是如何添加到模型中的

本文以bert为例,对比了添加Lora模块前后的网络结构图。

2024-06-13 19:43:51 684

原创 DeepSeek-V2-Chat多卡推理(不考虑性能)

本文演示了如何使用accelerate推理DeepSeek-V2-Chat(裁剪以后的模型,仅演示如何将权值拆到多卡)

2024-06-12 22:12:06 570

原创 测试bert_base不同并行方式下的推理性能

本文测试了bert_base模型在不同并行方式下的推理性能。

2024-06-12 22:00:46 1367

原创 下载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机器的内存泄露检测工具

Valgrind影响性能且某些程序会报错,同时我们希望跳过初始化阶段,在程序稳定运行之后再去检测内存是否会持续增涨,为了更高效的记录内存分配情况,采用b+树.该程序会拦截malloc,free,calloc,realloc,new,delete。记录10层的PC指针,方便解析脚本定位调用的代码位置

2024-05-17

ffmpeg 异步推理filter源码

本文旨在阐述如何通过FFmpeg开发一个创新的滤镜模块,该模块利用gRPC异步通信机制调用远程视频处理服务。这一设计实现了对ffmpeg滤镜功能的精简化整合,仅需通过配置ffmpeg命令行参数,即可实现不同算法间的灵活切换与串联。得益于此,原始ffmpeg无需进行任何内部修改,同时支持服务端采用任意编程语言进行开发,从而显著提升了整体的开发效率和部署便利性。 此方案尤其适用于帧率相对较低、推理性能瓶颈明显且对延迟要求不苛刻的应用场景。在面对复杂的推理流水线时,若单台服务器资源足以应对计算需求,则可借助MediaPipe构建高效处理管道;而当需要扩展至多台服务器以提升并行处理能力时,则推荐采用Seldon框架部署微服务架构,确保系统的可扩展性和弹性伸缩能力。

2024-03-21

基于gRPC实现的异步推理框架

该项目是基于gRPC实现的异步推理框架。服务端采用python实现,客户端封装了grpc,对外仅提供推理相关的三个c接口,可用于跨进程推理。

2024-03-19

grpc v1.62.0

git clone --recurse-submodules -b v1.62.0 --depth 1 --shallow-submodules https://github.com/grpc/grpc

2024-03-19

百度地图路书功能演示DEMO

百度地图路书功能演示DEMO

2024-03-17

自动生成C结构体到json的序列化、反序列化代码的方法

自动生成C结构体到json的序列化、反序列化代码的方法

2024-02-24

C#实现的键盘记录后台程序,可运行在win10/win11系统.能记录各种键盘按键,并将字符保存到文件中

本文在https://github.com/lambdacasserole/silence 的基础上进行了兼容性调试,可以记录键盘按下的各种字符,并保存到文件中 主要修改点: 1.删除不需要的功能 2.隐藏窗口且不在任务栏显示 3.通过taskkill /im 结束进程 使用方法 1.使能Caps Lock(大写状态) 2.运行KMon.exe,点击隐藏按钮 3.所有的键盘按键都会记录在KMon.log文件里 4.执行taskkill /im KMon.exe关闭后台监控程序

2024-02-20

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

TA关注的人

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