自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cuda中Cacheline和sector的区别

在 CUDA 架构(尤其是 Maxwell 之后的架构)中,3. 为什么引入 Sector?引入扇区结构是为了解决。

2025-12-17 14:16:34 372

原创 cuda中内存访问详解

这些宏的核心目的是实现类型重解释(Type Reinterpretation),即将一块内存中存储的二进制数据,按照另一种数据类型的布局来解读。这在 GPU 编程中是实现向量化内存访问和数据打包的关键技术。作用:将value的内存地址解释为一个指向int4类型数组的指针,然后取该数组的第 0 个元素。本质:假设value是一个int类型的变量,并且它在内存中的地址是0x1000。这个宏会告诉编译器:“不要把0x1000处的数据看作一个单独的int,而是把从0x1000开始的连续 4 个int。

2025-11-26 11:41:43 250

原创 Triton中维度转换

张量元素坐标内存偏移量公式代码计算出的off_*形状XX[i, j, l]YY[i, l, k]理解了off_x和off_y的计算,你就掌握了 Triton 内核中数据寻址的核心。接下来的tl.load操作就是利用这些计算好的偏移量,从全局内存中抓取一块数据到线程块的寄存器中,为后续的tl.dot计算做准备。

2025-11-25 14:20:31 527

原创 torch.gather

pythoninput(Tensor):源张量,我们从中收集数据。dim(int):要收集数据的维度。这决定了我们沿着哪个方向进行“索引”或“查找”。index(LongTensor):索引张量,它告诉我们在dim维度上,要从input的哪个位置取值。index的形状必须与input的形状相同(除了在dim维度上可以不同,但在实践中,我们通常让它们形状完全一致)。(bool, optional):如果为 True,关于input的梯度将是稀疏张量。想象一下,你有一个表格(input),gather。

2025-11-21 15:31:37 663

原创 LSE讲解

Log-Sum-Exp 是一个数学函数,它的定义如下:对于一组实数 x1​,x2​,...,xn​,LSE 为:简单来说,就是先对每个元素取指数(exp),然后将它们相加,最后再对总和取对数(logLSE代表。它是计算softmax和时的一个关键中间步骤。这个选项允许你获取这个中间计算结果,这在测试或需要进一步数值计算时非常有用。但它返回的 LSE 值本身不是概率,需要额外处理才能得到概率。

2025-11-21 14:21:59 283

原创 torch.expand讲解

这里的是 PyTorch 张量的一个方法,用于。

2025-11-20 14:05:59 147

原创 torch.unsqueeze讲解

操作原始形状结果形状直观理解[5][1, 5]把向量变成了一个行矩阵[5][5, 1]把向量变成了一个列矩阵。

2025-11-19 15:02:53 404

原创 torch.arange

python特性功能生成一个等步长的一维数列。区间左闭右开核心参数start(起点),end(终点),step(步长)常用场景创建索引、生成简单的数值序列、在循环中定义范围等。注意与已弃用的区分开。希望这个详细的讲解能帮助你彻底掌握的用法!

2025-11-19 14:29:55 641

原创 vllm中生成token的流程

请求1:输入token [t0, t1] → 需要t1的hidden state来生成t2请求2:输入token [t0, t1, t2] → 需要t2的hidden state来生成t3请求3:输入token [t0] → 需要t0的hidden state来生成t1。

2025-11-07 09:40:55 892

原创 H20算力

2025-10-15 19:24:42 96

原创 vllm deepseek model中输入参数说明

混合位置编码:通过和实现参数效率:使用LoRA减少可训练参数量扩展性:支持长序列处理和模型量化灵活性:每个组件都可以独立配置这样的设计让模型在保持高性能的同时,大幅降低了计算和存储需求。

2025-08-23 13:25:43 664

原创 python 中全局锁理解

情况效果原因严格排队单工作线程,任务顺序执行+ CPU密集型有限并发GIL限制真正并行,但线程切换提供并发+ I/O密集型良好并发I/O操作释放GIL,线程可真正并行处理场景效果解释单线程Worker遇到CPU操作阻塞Worker和事件循环Worker-1持有GIL进行计算,事件循环抢不到GIL,被阻塞。单线程Worker遇到I/O操作不阻塞事件循环Worker-1主动释放GIL,事件循环可以立即获取GIL并继续工作。多线程Workers遇到I/O更好地利用等待时间。

2025-08-21 15:09:27 662

原创 更新nv驱动

【代码】更新nv驱动。

2025-07-07 09:55:34 166

原创 cuda中Cooperative Groups学习

https://zhuanlan.zhihu.com/p/659200094

2025-07-02 21:41:09 92

原创 hopper中的架构特性

https://zhuanlan.zhihu.com/p/708645371https://zhuanlan.zhihu.com/p/709750258https://www.zhihu.com/question/11261005710/answer/93139551976

2025-07-01 08:37:59 206

原创 deepseek 中two batch overlap学习

https://zhuanlan.zhihu.com/p/1910048095816877891

2025-06-27 17:26:56 284

原创 pytorch 操作之squeeze

python运行# 创建一个最后一维尺寸为 1 的张量print("原始张量形状:", x.shape) # 输出: torch.Size([3, 1])# 移除最后一个维度print("操作后张量形状:", y.shape) # 输出: torch.Size([3])print(y)# 输出: tensor([1, 2, 3])这里,原始张量是形状为[3, 1]的二维张量,通过移除了最后一个维度,变成了形状为[3]的一维张量。python运行# 创建一个最后一维尺寸不为 1 的张量。

2025-06-27 15:02:33 776

原创 pytorch 操作之sort

在 PyTorch 里,函数的作用是对输入张量按指定维度进行排序。下面为你详细介绍它的用法、参数以及返回值。

2025-06-27 14:38:45 394

原创 pytorch 操作之unflatten

在 PyTorch 里,unflatten是一个很实用的函数,其功能是将张量的特定维度重新组织为多个维度,属于扁平化操作的逆过程。下面为你详细讲解该函数的用法。

2025-06-27 14:28:59 478

原创 pytorch 操作之广播机制

在 PyTorch 中,大多数二元操作都会在输入张量维度不匹配时尝试触发广播机制。理解广播机制的规则,有助于编写简洁且高效的代码。在进行张量运算时,要确保两个张量满足广播条件,避免出现错误。广播机制中新增的元素是为0吗在 PyTorch 的广播机制里,新增的元素并非是 0。实际上,广播机制是通过复制已有数据来实现维度扩展的,并不会真的在内存里创建新的数据副本,这样可以高效地完成运算。广播不创建新数据:广播只是在逻辑上扩展张量维度,运算时复用已有数据。不涉及填充 0。

2025-06-27 14:24:08 714

原创 pytorch 操作之scatter_

是 PyTorch 中一个非常有用的张量操作函数,主要用于在张量的指定位置上进行赋值操作。这个函数是原地操作,即它会直接修改原张量的值,而不会返回新的张量。python运行 的核心逻辑是:根据 中的索引值,将 中的值对应地放到目标张量 的指定位置上。具体来说:python运行这里, 中的值 、、 分别被放到了 张量的索引 、、 位置上。python运行这个例子中,我们根据 张量的值,将 中的每个元素放到 的指定列位置上。独热编码(One-Hot Encoding):pytho

2025-06-27 14:16:18 493 1

原创 pytorch 中dim使用教程

指定了操作沿着哪个维度 “压缩” 或 “合并” 张量。的含义对于正确使用张量操作至关重要。下面通过具体例子说明。会得到完全不同的结果,因此在使用张量操作时需要特别注意。(维度)参数用于指定操作应用的方向。对于一维张量,只有一个维度(在 PyTorch 中,通过这些例子可以看出,

2025-06-27 11:51:07 639

原创 deepseek 学习笔记

[MoE] Deepseek的All-to-all通信: DeepEP代码解读 - CQzhangyu - 博客园

2025-06-20 15:28:52 448

原创 NV 相关文档

1. Introduction — PTX ISA 8.8 documentation

2025-06-19 17:24:06 225

原创 CUDA 学习笔记

学习视频: cuda编程从入门到入土 p1 - hello-gpu_哔哩哔哩_bilibili当线程数不足的话,如何解决。如果在memcp和kernel计算中,kernel计算的数据依赖于memcp中的数据,那么这时这2个操作是无法overlap的。程序计时

2025-06-12 17:31:59 173

原创 通信语义讲解

【代码】通信语意讲解。

2025-06-05 17:48:14 149

原创 pytorch中的函数参数dim详解

对于刚入门的新手来说,Torch API中的维度真的很迷惑人.例如 torch.sum(x, dim=0) 是按着行相加呢,还是列相加?还有TopK,softmax等函数。

2025-06-04 11:18:12 232

空空如也

空空如也

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

TA关注的人

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