
CUDA
文章平均质量分 91
just_sort
Acdream.
展开
-
【BBuf的CUDA笔记】八,对比学习OneFlow 和 FasterTransformer 的 Softmax Cuda实现
这篇文章主要学习了oneflow的softmax kernel实现以及Faster Transformer softmax kernel的实现,并以个人的角度分别解析了原理和代码实现,最后对性能做一个对比方便大家直观的感受到oneflow softmax kernel相比于FasterTransformer的优越性。我目前处于尽可能去理解oneflow的一些优秀的cuda实现的阶段,做一些知识储备,同时也调研和学习下相关的一些优化库的的cuda kernel。原创 2023-02-24 18:26:23 · 856 阅读 · 0 评论 -
【BBuf的CUDA笔记】七,总结 FasterTransformer Decoder(GPT) 的cuda相关优化技巧
解读:https://github.com/NVIDIA/FasterTransformer/blob/main/docs/gpt_guide.mdGPT 是 Decooding 模型的一种变体,没有 Encoder 模块,没有交叉多头注意力模块,使用 GeLU 作为激活函数。2020 年,OpenAI 在他们的论文中表明,使用非常庞大的模型和大量的训练数据可以显著提高 GPT 模型的容量。但是,不可能将这样的模型放入单个 GPU 中。原创 2023-02-05 11:53:10 · 1939 阅读 · 1 评论 -
【BBuf的CUDA笔记】六,总结 FasterTransformer Encoder(BERT) 的cuda相关优化技巧
解读:https://github.com/NVIDIA/FasterTransformer/blob/main/docs/bert_guide.md ,优化点解读之前是翻译了下 Faster Transformer BERT 的文档,然后省略了运行样例等环节,主要是解读下 BERT 的优化技巧。也就是 bert workflow 这张图。原创 2023-01-27 09:38:20 · 1649 阅读 · 0 评论 -
【BBuf的CUDA笔记】五,解读 PyTorch index_add 操作涉及的优化技术
我们可以在 PyTorch 的文档中找到的定义(https://pytorch.org/docs/stable/generated/torch.Tensor.index_add_.html#torch.Tensor.index_add_):简单来说就是我们需要根据index的索引完成对当前Tensor dim维度的inplace加和,注意被加数是由另外一个Tensor src决定的。原创 2023-01-14 20:23:57 · 722 阅读 · 0 评论 -
【BBuf的CUDA笔记】四,介绍三个高效实用的CUDA算法实现(OneFlow ElementWise模板,FastAtomicAdd模板,OneFlow UpsampleNearest2d模板)
本篇文章推荐和讲解一下OneFlow ElementWise模板,FastAtomicAdd,OneFlow UpsampleNearest2d模板的用法以及原理,并将其整理为最小的可以白嫖的头文件。相关代码请访问 https://github.com/BBuf/how-to-optim-algorithm-in-cuda 这里获得。原创 2023-01-08 11:20:43 · 369 阅读 · 0 评论 -
【BBuf的CUDA笔记】三,reduce优化入门学习笔记
通俗的来说,Reduce就是要对一个数组求 sum,min,max,avg 等等。Reduce又被叫作规约,意思就是递归约减,最后获得的输出相比于输入一般维度上会递减。比如 nvidia 博客上这个 Reduce Sum 问题,一个长度为 8 的数组求和之后得到的输出只有一个数,从 1 维数组变成一个标量。本文就以 Reduce Sum 为例来记录 Reduce 优化。原创 2023-01-02 17:05:06 · 668 阅读 · 0 评论 -
【BBuf的CUDA笔记】二,解析 OneFlow BatchNorm 相关算子实现
这里暂时写了一下个人看OneFlow Normalization 系列算子实现的理解。实际上我个人还是有一些疑问在,如果后续能搞清楚的话,会继续补充和修改。原创 2022-12-22 19:51:27 · 1394 阅读 · 0 评论 -
【BBuf的CUDA笔记】一,解析OneFlow Element-Wise 算子实现
以上就是我对 OneFlow Element-Wise 系列 CUDA 算子实现的解析,后续有空会持续更新学习到的新知识。原创 2022-12-11 22:10:00 · 1291 阅读 · 0 评论 -
CUDA学习笔记三
我的代码:https://github.com/BBuf/CUDA_LEARN_SAMPLES/tree/58b95d34b60c9b50c72d66a2d2b3b671337191bd \quadCUDA加速的非常核心的一个应用是对矩阵运算进行加速,所以这篇博客,我会记录利用CUDA写矩阵乘法加速的过程。 矩阵乘法 所谓矩阵乘法就是了AB=C,其中A为n*m的矩阵,B为m*q的矩阵,C为n*...原创 2018-07-20 12:04:55 · 414 阅读 · 0 评论 -
CUDA学习笔记二
本篇博文记录一些在学习CUDA过程中的一知识点,我的CUDA练手代码github地址:https://github.com/BBuf/CUDA_LEARN_SAMPLES 学习文章:https://blog.youkuaiyun.com/sunmc1204953974/article/details/51002061 CUDA程序运行时间计算 首先利用CUDA的clock()函数可以获得CUDA代码的GP...原创 2018-07-19 10:26:53 · 1085 阅读 · 0 评论 -
CUDA 学习笔记一
CUDA:一个在 GPU 上计算的新架构 CUDA ( Compute Unified Device Architecture ) 统一计算设备架构,在 GPU 上发布的一个新的硬件和软件架构,它不需要映射到一个图型 API 便可在 GPU 上管理和进行并行数据计算。从 G80 系列和以后的型号都可以支持。操作系统的多任务机制通过几个 CUDA 和图型应用程序协调运行来管理访问 GPU 。 DR...原创 2018-07-17 21:08:07 · 644 阅读 · 0 评论