- 博客(212)
- 资源 (2)
- 收藏
- 关注
原创 triton之flag-attention源码分析
主要的实现,在一个类FlashAttention中实现在这个类中调用的其他函数都不是类的内部的函数,类的内部的函数只有这两个这两个函数是一定要这样实现的,是固定写法。
2024-05-20 17:33:36 155
原创 triton之gemm
如果不采用group gemm的话,采用单流执行,则具体的硬件执行调度如下所示:gemm0,gemm1,gemm2同时分配任务给sm做 第一轮:gemm0、gemm1和gemm2的0-4分给4个sm去做,都计算完成第二轮:gemm0在上一轮已经计算完毕,gemm1和gemm2的45分给sm0,sm1去做,在这一轮可以发现,sm0和sm1针对gemm0的task出现了idel,而sm2和sm3对三个gemm的task都是idle状态而如果采用group gemm,则可以实现: 就是保证sm尽量满载,而不处于i
2024-05-13 17:26:00 32
原创 triton编译学习
Triton-MLIR: 从DSL到PTX - 知乎 (zhihu.com)Superjomn's blog | OpenAI/Triton MLIR 迁移工作简介。
2024-05-11 15:20:53 195
原创 torch教程
PyTorch 74.自定义操作torch.autograd.Function - 知乎 (zhihu.com)虽然pytorch可以自动求导,但是有时候一些操作是不可导的,这时候你需要自定义求导方式。也就是所谓的 "Extending torch.autograd"。
2024-05-08 11:04:14 36
原创 triton之fused attention
【BBuf的CUDA笔记】十五,OpenAI Triton入门笔记三 FusedAttention - 知乎 (zhihu.com)图解大模型计算加速系列:FlashAttention V1,从硬件到计算逻辑 - 知乎 (zhihu.com)图解大模型计算加速系列:Flash Attention V2,从原理到并行计算 (qq.com)
2024-05-07 10:00:31 48
原创 triton之语法学习
一 基本语法1 torch中tensor的声明x = torch.tensor([[1,2, 1, 1, 1, 1, 1, 1],[2,2,2,2,2,2,2,2]],device='cuda')
2024-05-06 09:30:45 120
原创 triton之dropout教程
Transformer模型-Dropout的简明介绍:丢掉一些元素,防止过度拟合_transformer dropout-CSDN博客过程可以参考简单理解就是将mask为1的元素置零。
2024-04-30 15:19:41 26
原创 AI算法与模型综述
Transformer模型-Dropout的简明介绍:丢掉一些元素,防止过度拟合_transformer dropout-CSDN博客。将原有的tenser以一定的概率置零。
2024-04-30 14:28:22 34
原创 triton之softmax
我们的softmax kernel的工作方式如下:每个程序加载输入矩阵X的一行,对其进行归一化处理,然后将结果写回到输出Y中。需要注意的是,load加载的需要是tensor数据,因此inputs_ptrs必须有一个指针指向tensor的过程,并不是简单的像c++的指针指向内存,只需要指向的过程,而且需要一个指明范围的过程,而且load的过程,就是将数据从global ram向sram传输数据的过程。【BBuf的CUDA笔记】十三,OpenAI Triton 入门笔记一 - 知乎 (zhihu.com)
2024-04-30 11:15:31 11
原创 cuda报错basic_string.tcc:1067:16: error: cannot call member function ‘void std::basic_string
本来在网络上找了很多办法,有说gcc版本需要6.x才行,但是6.x被centos的scl工具遗弃了,根本无法下载,后来才发现是是编译选项的问题。需要加一个-std=c++11。-I是指定依赖的库函数。
2024-04-26 18:50:51 12
原创 eigen使用教程
ubuntu c++使用eigen提示"fatal error: Eigen/Dense: No such file or directory"的解决办法_: fatal error: eigen3/eigen/dense: 没有那个文件或目录 #incl-CSDN博客。
2024-04-16 14:57:15 35
原创 cmake实用代码学习
已经在之前的代码中定义了,那么这个操作不会改变它的值。但是如果它之前未定义,这个操作会将其定义并赋予一个空值或者未定义的状态。这种用法可以帮助避免在后续代码中出现变量未定义的错误,因为在这之前已经通过。函数确保了它的存在。
2024-04-09 20:12:03 53
原创 升级eigen3到3.4版本
ubuntu升级eigen到3.4.0_查看eigen版本-CSDN博客。ubuntu 重装/升级 eigen 教程_升级eigen-CSDN博客。
2024-04-09 14:55:39 57
原创 triton环境安装
基于centos7安装,曾经尝试了ubuntu16.04安装nvidia的驱动,发现非常麻烦,不推荐,推荐centos7安装,直接命令行就可以安装,相关教程可参考之间发布的博客。
2024-04-09 14:07:54 437
原创 centos安装nvidia驱动(附各种问题)
1、Linux查看显卡信息:(ps:若找不到lspci命令,可以安装 yum install pciutils)2、使用nvidia GPU可以:3、查看显卡驱动。
2024-04-08 16:59:23 282
原创 ubuntu16.04碰到dpkg-deb:错误:归档 /var/cache/apt/archives/init-system-helpers_1.62_all.deb 对成员 control.tar
这是问题我找了好多办法,最好发现是ubutun的源和你添加的源不匹配,也就是我们在更换ubuntu16.04的源的时候,前往不能用20.04的源,一定要搜16.06的源
2024-03-30 11:36:30 409
原创 python中使用anaconda
括号中的名字就是刚才设定的virtualenv_name。然后后续使用的pip就是虚拟环境中的pip。* 在第一步中指定了python的环境。
2024-03-17 11:32:19 43
原创 leetcode-206-翻转链表
对于链表来说,->next就是代表图上的那个箭头,指向后,就相当于已经建立完链接,就可以改变只想节点的指针的位置了每一个指针,则是代表一个圈。
2024-02-08 16:48:02 230
原创 leetcode-215-数组中的第K个最大元素
(2)、依次弹出大根堆的根节点,但弹出k-1次后,此时的根节点就是要求第k个大的值。3、具体构造: (1)、构造大根堆: 首先数据是以数组形式存储的,在堆中也一样,构造大根堆的过程就是将合适的元素互换位置的过程。(2)在上面的大根堆构造完毕后,就可以弹出根节点了,总共要弹k-1次,且每次弹出一个值,就要对原本的大根堆进行更新,这里的弹出的做法是将0与i的位置交换,实际交换的值都依次排在堆得后面,这里交换的值都是弹出来的,所以在更新大根堆时就不能把这些算上,所以就可以用heapsize限定边界了。
2024-02-04 15:39:01 152
原创 leetcode常见错误
力扣:runtime error: load of null pointer of type ‘std::_Bit_type‘ (aka ‘unsigned long‘) (stl_bvector)_runtime error: load of null pointer of type 'std::-CSDN博客。而是用resize()函数。
2024-01-30 19:10:32 172
原创 计算机组成与设计++硬件软件接口+risc-v 第二章 计算机的语言
存在上述情况的根本原因是,地址是+1,则存储空间+8个字节,双字需要64bits,因此需要地址是64/8=8,所以双字的地址自增数为8。
2024-01-26 09:51:28 237
原创 leetcode-560-和为K的子数组
给你一个整数数组nums和一个整数k,请你统计并返回该数组中和为k的子数组的个数。子数组是数组中元素的连续非空序列。22。
2024-01-04 19:23:26 337
原创 c++知识总结
C++学习笔记之pragma once的理解_pragma once什么意思-CSDN博客。保证只被编译一次,和#ifndef,#define,#endif功能相同。
2023-12-14 08:57:26 1077
原创 C指针大合集
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。,在这种情况下,我们不能修改被指向的对象,但可以使指针指向其他对象。这是定义了一个指针t,t可以制指向任意类型的值,对b不能通过上述方法(其他方法也不行)进行修改。红色字体的理解:但是b指向的内容不能修改。const是定义常量,不可修改。
2023-11-22 11:33:13 87
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人