【Cutlass】tile iterator concept

news/2025/3/15 15:57:40/

简介

在Cutlass 2.x之前将matix或者tensor切分成固定尺寸的操作都是在tile iterator当中(Cutlass 3.0之后对于matrix和tensor的操作都放到了cute::Tensor里面)。tile_iterator_concept不同于c++20里面的concept,这里不使用concept作为key word,仅仅是对这些类型的需求。tile_iterator内部是几个概念的组合,tile iterator concept几乎涵盖了所有需求。

Concept定义

struct定义
TileIteratorConcept基类:1. Element,tile的组成部分;2. 形状类型,取决于iter的实现
ContiguousMemoryTileIterator在连续内存上任意Tile的iterator,每个thread将Element尺寸的数据块存储在pointer_offset的位置上
ReadableTileIteratorConcept(WriteableTileIteratorConcept类似)每个thread从内存读取一块数据放到其相应的Fragment当中
ReadableContiguousTileIteratorConcept(WriteableContiguousTileIteratorConcept类似)从pointer_offset的位置连续读取数据
ForwardTileIteratorConcept前向遍历tile,具体的方向和Context相关,比如Gemm就这沿着K方向遍历
BidirectionalTileIteratorConcept两个方向遍历tile
RandomAccessTileIteratorConcept相较TensorRef进行TensorCoord的偏移
ReadableRandomAccessTileIteratorConcept(WriteableRandomAccessTileIteratorConcept类似)根据TensorRef和TensorCoord load数据到fragment中
ReadableRandomAccessContiguousTileIteratorConcept(WriteableRandomAccessContiguousTileIteratorConcept类似)根据TensorRef和TensorCoord load pointer_offset处数据到fragment中
MaskedTileIteratorConcept为了部分获取数据设置的mask,可以作为oob保护
WriteableReadableForwardContiguousTileIteratorConceptForwardTileIteratorConcept + ReadableContiguousTileIteratorConcept + WriteableContiguousTileIteratorConcept
WriteableReadableRandomAccessContiguousTileIteratorConceptReadableRandomAccessContiguousTileIteratorConcept + WriteableRandomAccessContiguousTileIteratorConcept

http://www.ppmy.cn/news/61636.html

相关文章

数据结构入门--栈和队列

栈 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除的一段为栈顶,另一端为栈底。栈中元素遵循后进先出LIFO(Last In First Out)原则。 压栈:栈的插…

springboot网上商城项目(一)

springboot网上商城项目(一) (一)项目分析1.项目分析2.开发顺序3.前端资源测试 (二)用户注册1.创建数据库2.实体类编写3.注册(持久层)4.注册(业务层)5.注册&a…

【深度学习】模型如何加载至 cpu 和 gpu

【深度学习】模型如何加载至 cpu 和 gpu 文章目录 【深度学习】模型如何加载至 cpu 和 gpu1. 采用 from_pretrained 的方式2. 采用 load_state_dict 的方式参考 1. 采用 from_pretrained 的方式 这种情况下,BertMoldel.from_pretrained() 是会 load 在 cpu 上的&am…

归排、计排深度理解

归并排序:是创建在归并操作上的一种有效的排序算法。算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并排序思路简单,速度仅次于快速排序,为稳定排序算法&#…

SpringCloud 分布式事务组件之Seata

目录 背景介绍什么是分布式事务什么叫做逆向补偿呢互联网最流行的分布式事务组件seata总结 背景 大家好,今天给大家分享一个在2022年出去面试Java几乎必问的一个技术,那就是seata。什么??你才看了第一句话心里有闪现了无数个问…

面了一圈,还没拿到offer.....

最近收到很多小伙伴的留言,金三银四过完了一个offer都没收到。还有遇到那种特别喜欢怼人的面试官,直接面到怀疑人生,真是让人费解。。。 其实面试受打击是正常的,关键是要在面试中总结自己的不足!提前做好面试准备和技…

数控新代系统解锁解密 数控机床车床使用期限破解

时效性保证了良好的用户体验,根据经验在交易环节,延迟越低转化效果也会越好。传统的直播延迟问题已经成为了一个不容忽视的问题,高延迟不仅破坏了用户的观看体验,也让主播难以实时获取到用户的反馈。为了进一步优化直播时效体验&a…

自行车和电动自行车上亚马逊标准有什么区别?UL2849,16CFR1512

自行车 自行车是一种两轮的或三轮的交通工具,完全靠人力驱动后轮前进。本政策所涵盖的自行车包括当座位调整到最高位置时,座位离地面超过 25 英寸的自行车,以及座位高度为 25 英寸或以下的人行道自行车。本政策也适用于公路使用的卧式自行车…