cute 教程 00

news/2025/3/20 13:16:48/文章来源:https://www.cnblogs.com/xwher/p/18782848

cute是一系列C++ CUDA的模板抽象,用于定义和操作线程数据的层次化多维layouts。cute提供 Layout 以及 Tensor 对象;其中 Tensor 将 数据类型、形状、内存空间以及数据的layout进行一个封装,用户可以对这个 Tensor 进行复杂的索引操作。这样可以使得用户可以专注于逻辑上的描述,底层对应到内存实际的索引由cute来进行resolve;可以基于layout定义出tiling以及partition的操作。

前置的环境配置

C++17

library的组织形式

cute 是一个header-only C++ lib;所以不需要构建其源码。

  • include/cute: 顶层目录下的每个header都对应cute中的基本构件,例如 LayoutTensor.
  • include/cute/container: 实现STL-like的对象,例如tuple,array以及aligned array
  • include/cute/numeric: 基础的数值类型,也包括非标准的floating-point 类型
  • include/cute/algorithm: 一些算法的实现例如 copy, fill
  • include/cute/arch: 对架构特定的 matrix-matrix multiply以及copy指令的封装
  • include/cute/atom: arch下指令的元信息以及 partitiontiling 的功能

tips

如何在host或device上打印cute 对象

cute::print 函数对于几乎所有的cute类型,包括pointers, integers, strides, shapes, layouts, and tensors,都有重载版本。除此之外,这个函数可以在host或者device上工作;但需注意在device上时,print的开销很大;注意在debug之后移除对应的print函数。

你也许只想对每个thread block的第0个线程或者grid的第一个block应用print。thread0() 只对于kernel的全局0号线程返回true

if (thread0()) {print(some_cute_object);
}

一些算法可能依赖某个线程或线程块,所以你可能需要打印别的线程或线程块;cute/util/debug.hpp包含 bool thread(int tid, int bid) 函数。

其他的打印格式

  • cute::print_layout: 以表格形式展示任意rank-2 的layout
  • cute::print_tensor: 展示任意 rank-1 rank-2 rank-3 rank-4的tensor,打印出tensor中的值
  • cute::print_latex: Layout TiledCopy TiledMMA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/901975.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在Java程序中使用泛型

如何在Java程序中使用泛型泛型可以使你的代码更灵活、更易读,并能帮助你在运行时避免ClassCastExceptions。让我们通过这篇结合Java集合框架的泛型入门指南,开启你的泛型之旅。Java 5引入的泛型增强了代码的类型安全性并提升了可读性。它能帮助你避免诸如ClassCastException(…

BUUCTF从0到1:N1BOOk(web入门,常见的信息收集)

各位师傅们,第一次写博客文章: 就从最简单的web信息收集入门吧: 信息收集在不管时在红蓝对抗还是在ctf比赛中都是具有很大的作用 我们先看题:题目提示:信息收集,我们就直接打开虚拟机kali用dirsearch命令扫描网址: 对于新手来说dirsearch还未安装,dirsearch安装看这个:…

小白也能搞定系统搭建!7步教你选对开发平台!

你有没有遇到过这种情况: —— 想搞个客户管理系统,结果一搜教程,满屏都是代码,瞬间头大? —— 公司事儿一堆,老板还不想花钱买现成的系统,非要我们自己搭,可咱也不会写代码啊,这可咋整? 其实,现在做系统根本不用写代码,有些工具拖拽一下就能搭建,小白也能轻松上手…

如何学习 ROS+PX4

博客地址:https://www.cnblogs.com/zylyehuo/参考 https://www.bilibili.com/video/BV1vx4y1Y7Tu?spm_id_from=333.788.player.switch&vd_source=4acdb875c05ce9dccfce3cd6cfaac651

Mavros Mavlink

博客地址:https://www.cnblogs.com/zylyehuo/参考 https://www.bilibili.com/video/BV1x841167uG?spm_id_from=333.788.videopod.sections&vd_source=4acdb875c05ce9dccfce3cd6cfaac651

用于太阳能电池板的线性电机物联网控制器

随着能源成本的增加,太阳能电池板显然是减少这些费用的一条途径。即使有一对面板在一串(两个串联),和一个电网限制电流逆变器(如优秀的SUN-1000GTIL2和SUN-2000GTIL2系列),你可以节省很多钱-即使在冬天!后面的文章将详细介绍各种具有成本效益的选项和经验。 LMIC LMIC(线性电…

leetcode每日一题:最少翻转操作数

题目 2612. 最少翻转操作数 给你一个整数 n 和一个在范围 [0, n - 1] 以内的整数 p ,它们表示一个长度为 n 且下标从 0 开始的数组 arr ,数组中除了下标为 p 处是 1 以外,其他所有数都是 0 。 同时给你一个整数数组 banned ,它包含数组中的一些位置。banned 中第 i 个位置表…

黄色网站破解

最近再查资料, 莫名其妙弹窗黄色网站下载页面, 我的手机是iOS非越狱版本, 我当然是敢点击的, 即使有病毒也不怕。 51duhui是虚假的应用, 假冒app store风格下载安装, 狗日的,发现是下载mobileconfig, 看下下载的按钮,代码如下:function jumpurl(url) {setTimeout(f…

“人工智能+”智赋千行百业!

今年,DeepSeek在AI赛道一骑绝尘 以“火炎焱燚”之势迅速延伸 开启中国AI黄金时代 如今,中国的AI故事正在书写新篇 中国的科技强国之路也正越走越宽在DeepSeek引领的人工智能热潮中 作为云服务国家队 天翼云“息壤”智算平台率先完成 国产算力与DeepSeek-R1/V3 系列大模型的深…

使用Kettle将sqlserver库表结构和数据导入到oracle

一、官网下载kettle的压缩包pdi-ce-9.4.0.0-343.zip ,下载jtds-1.3.1.jar和ojdbc8-19.3.0.0.jar 将jar放入\data-integration\lib 目录下二、将zip解压后,是一个data-integration文件夹,找到spoon.bat 双击运行,即可打开kettle工具三、打开以后,右键点击转换,新建一个转换…

Windows 11 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 3 月更新)

Windows 11 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 3 月更新)Windows 11 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 3 月更新) Windows 11, version 24H2 Enterprise Arm64 x64 (updated Mar 2025) 请访问原文链接:https://sysin.org/blog/windows-11/ 查看最…

作业三

问题 内容这个作业属于哪个课程 课程链接这个作业要求在哪里 作业要求这个作业的目标 实现一个自动生成小学四则运算题目的命令行程序姓名 学号何松 3123004786洪徐博 3123004747PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)Planning 计划 Esti…