Meet AI Compiler丨跨硬件的统一编译生态,TVM/Triton/TileLang 各展所长

TileLang与Triton深度对比:跨平台GPU编程语言的技术选型指南 本文深入对比了TileLang与Triton两种跨平台GPU编程语言的技术特点与适用场景。TileLang基于TVM编译器框架,支持多级抽象和自动优化,特别适合多硬件平台部署和性能调优;Triton则深度集成PyTorch生态,提供更简洁的编程模型,适合快速开发和原型验证。文章通过实际案例展示了两种语言在矩阵运算、注意力机制等场景的性能表现,为开发者提供技术选型指南。 阅读详情

在 AI 变革千行百业的时代,一场关于效率、可部署性与算力可持续性的技术革命正悄然发生。作为承上启下的关键中间件,AI 编译器串联起了底层硬件与上层应用。无论是已在业界广泛应用的 TVM,还是近年来快速崛起的 Triton,亦或是今年年初才崭露头角的算子编程语言 TileLang,编译技术已不仅仅是让模型「跑得起来」的基本保障,同时也正在升级为支撑「高效执行与资源利用优化」的关键技术。

围绕 AI 编译器上下游的创新与实践持续涌现,大家对该领域的关注度也在 up up up! 为了更好地连接前沿研究与应用场景,7 月 5 日,HyperAI 超神经将在北京举办第 7 期 Meet AI Compiler 技术沙龙。我们有幸邀请到了来自 AMD 、北京大学、沐曦集成电路等多位资深专家,与各位分享其面向 AI 编译器的最佳实践及趋势研判。此外,上海创智学院助理教授、 Apache TVM PMC 冯思远将担任圆桌环节的主持人,和众多讲师一起围绕「跨硬件的统一编译生态」这一主题展开深入的讨论。

活动详情

时间:7 月 5 日(周六)13:30-17:45

地点:北京市海淀区中关村创业大街 6 号楼 2 层车库咖啡

人数:200(现场座位有限,请尽早报名)

报名:https://hdxu.cn/1cmhk

 

嘉宾及议程

技术分享

13:40-16:35

分享主题:助力开源社区,剖析 AMD Triton 编译器

内容简介:Triton 是 OpenAI 提出的一种专为简化高性能 GPU Kernel 开发而设计的编程语言,在主流的 LLM 推理训练框架中得到了广泛应用。用户可以通过开发 Python Triton 代码来实现 GPU Kernel,无需关心底层的 GPU 架构细节,大大降低了 GPU 代码的开发难度。

AMD 在相关的 GPU 平台上实现了 Triton 编译器,并且贡献给了 Triton 开源社区。为了优化 GPU 代码性能,需要了解 Triton 编译器及其在 Kernel 性能优化中的作用。本次分享将详细探讨 AMD Triton 编译器,介绍 编译器如何提升 Triton 在 AMD GPU 平台上的性能。

观看本场分享,你将了解:

1. AMD GPU 架构的介绍。

2. AMD GPU 在 Triton 开源社区上的最新工作。

分享主题:TileLang:算子开发不再「烧脑」,性能依然在线

内容简介:本次分享我们带来新的算子编程语言——TileLang 。它通过显式的 tile 级原语与自动推理机制,赋能开发者高效实现硬件感知的神经算子,兼顾控制力与开发效率。与传统编译器(如 Triton)相比,TileLang 在主流 GPU 上可实现高达 6 倍的性能提升,显著简化开发流程,让性能优化不再是「专家专属」。

观看本场分享,你将了解:

1. 掌握一种更简单、更高效的高性能算子开发语言。

2. 了解 TileLang 的核心设计理念与技术优势。

分享主题:沐曦 GPU 上的 TVM 应用实践

内容简介:这次讨论主要围绕如何在沐曦 GPU 上应用 TVM 。针对沐曦 GPU,围绕 TVM 进行高性能算子生成,使能基于 TVM 的主流 AI 框架。

观看本场分享,你将了解:

1. 国产 GPGPU 上适配 TVM 可能会碰到的问题。

2. TVM 在国产 GPGPU 上的收益如何,以及哪些方面需要继续突破。

3. 关于 TVM 等 AI 编译器在国产 GPGPU 上的支持现状,并讨论如何拓展相关生态圈。

更多嘉宾敬请期待~

圆桌讨论

圆桌主题:跨硬件的统一编译生态

外贸英文函电第三版张梅英课后习题答案解析 我参加了一些外贸模拟竞赛,将所学知识运用到实际工作中,取得了不错的成绩。此外,我还积极参与了一些外贸实践活动,如参加实习、担任志愿者等,从中积累更多的经验。在这个过程中,我逐渐摸索出了一套适合自己的学习方法,不仅提高了学习效果,还增强了自信心。通过学习这本书,我们可以提高自己在外贸领域的沟通能力,更好地应对未来的工作挑战。在学习这本书的过程中,我遇到了一些困难,比如对某些专业术语的理解不够透彻,对信件的结构和格式掌握不够熟练。出版社: 高等教育出版社。上传者: ʚ河西撒手没ɞ。 阅读详情

相关推荐

目标检测之Mask R-CNN(Pytorch):小白动手实现项目

目标检测之Mask R-CNN:小白动手实现项目Pytorch引言Mask R-CNN原理简述代码、注释及详细解释 引言 首先声明本项目的运行环境。操作系统为Windows,编写环境为Anaconda3 + Jupyter Notebook。Pytorch版本为 torch 1.7.1+cu110 、torchvision版本为 0.8.2+cu110,cuda版本为cu100,显卡为Nvidia 2060。 我是目标检测领域的小白,刚刚完成了Pytorch的相关入门学习任务,所以我认为学习本篇博客的基础

dzc_go的博客 1万+

一文了解国产算子编程语言 TileLang,TileLang 对国产开源生态的影响与启示

TileLang 旨在简化高性能 GPU/CPU 内核(Kernels)的开发,例如 MLA(Multi-Head Latent Attention)、GEMM(GEneral Matrix Multiplication)、Dequant GEMM、FlashAttention 和 LinearAttention 等。通过在 TVM 之上构建底层编译器基础设施,并采用 Pythonic 语法,tile-lang 使开发者能够专注于提升开发效率(门槛较低、易用),而无需牺牲实现最佳性能所需的底层优化。

叶庭云 成为自己的光 8825

Python爬取拼多多商品数据保姆级教程(附源码及效果图)

本文介绍了使用Python爬取拼多多商品数据的完整教程。通过DrissionPage库模拟浏览器操作,利用正则表达式提取嵌入在HTML中的商品数据(关键步骤是从window.rawData变量获取),解析后转换为结构化数据并导出Excel。教程包含八大步骤:环境配置、浏览器初始化、网络监听、搜索模拟、数据提取(核心是正则匹配JSON)、数据验证、字段解析和Excel导出,最后提供了封装好的函数可直接调用。该方法特别适合课程作业或毕业设计获取电商数据,能爬取商品名称、价格、销量等关键信息,处理了价格单位转换等

weixin_46449236的博客 2078

tilelang:加速GPU/CPU内核开发的专业领域语言

tilelang(**tile-lang**)是一种简洁的领域特定语言(DSL),旨在简化和优化高性能GPU/CPU内核(如GEMM、Dequant GEMM、FlashAttention、LinearAttention)的开发流程。tilelang采用了类似Python的语法,并在Apache TVM之上构建了编译器基础设施。这使得开发人员能够在不牺牲底层优化和保持最先进性能的前提下,提高生产效...

gitblog_01132的博客 1653

海康威视VS互联网大厂:薪资、福利、工作强度全方位对比

本文全面对比了海康威视与互联网大厂在薪资、福利和工作强度等方面的差异。海康威视提供稳定的薪资结构和较低的工作强度,适合追求专业深度的职场人;而互联网大厂则以高薪和快速成长吸引人才,但工作压力较大。文章还分析了职业发展路径和长期价值,帮助求职者做出明智选择。

weixin_29171129的博客 390

YOLOv8 更换损失函数DIoU、EIoU、GIoU...Inner-IoU...

介绍了一些损失函数,并将其应用到yolov8训练中

分享一些自己改进代码的实例 888

什么是 TileLang?为什么国产算力离不开 TileLang?

TileLang:这是核心模块,负责编程语言的设计、跨平台支持和硬件优化。 FrontendInterface:为用户提供接口,支持 Pythonic 接口和 TVM 集成接口,简化代码编写。 Compiler:将 TileLang 高层代码转换为低层的硬件代码。 SchedulingOptimization:负责内存和线程调度优化,提升代码执行的效率。 CodeGeneration:负责生成适配 GPU 和 CPU 硬件的代码。 GPUHardware 和 CPUHardware:最终的硬件执

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 4813

ESD防护设计宝典(十九):元器件选型宝典——共模电感

然而,这位“大师”的脾气也颇为古怪,若设计者不解其性、用之不当,它非但不能抑制噪声,反而会引入信号完整性恶化、电源压降等新问题,甚至让您的系统EMC性能“雪上加霜”,导致项目在测试阶段功亏一篑。本文将带您深入共模电感的内在世界,从本质解析到参数详解,从设计陷阱到实战选型,全方位领悟其平衡艺术,掌握其应用核心,规避那些足以让项目翻车的致命陷阱。:这是存在于电路板内部的“家贼”。共模电感实质上是一个四端器件,它通过磁场的“加法”与“减法”运算,巧妙地实现了对共模噪声的抑制,同时为差模信号大开绿灯。

m0_56451176的博客 421

TileLang——一款开源的国产化AI算子编程语言!

TileLang是一种基于TVM的领域特定语言,通过Pythonic语法简化高性能AI内核开发。其核心优势包括:1)用极简代码(如80行实现GEMM)达成硬件级性能;2)内置内存优化、自动调优等关键技术;3)支持矩阵运算、注意力机制等主流算子。该语言采用模块化架构,包含Python前端、TensorIR中间表示和自动代码生成系统,显著降低GPU/CPU编程门槛。目前已在GitHub开源,为AI和高性能计算领域提供算法与硬件的高效桥梁。

飞乐鸟的博客 1400

闲鱼爬虫实战:模拟手机端破解反爬策略,爬取指定商品搜索数据,爬取闲鱼搜索指定商品(需手机端模拟)o 技术点:抓包分析、cookie与token

技术点作用抓取手机 App 请求,分析 API 结构、Header、参数加密情况requestsPython 中最常用的 HTTP 库,用于发送模拟请求Session 对象自动管理 Cookie,保持会话User-Agent & 设备特征模拟手机型号、系统版本,绕过服务端检测闲鱼部分接口存在签名,需要逆向或复用有效 Token多线程/异步提高爬取效率(需节制,避免封 IP)解析 HTML 或 JSON 数据注意:闲鱼的接口加密程度中等偏上,部分接口存在动态签名(如x-signx-mini-wua。

2201_76125261的博客 712

手把手教你在ARM64架构下编译和部署Milvus:从环境搭建到Docker镜像制作全攻略

本文详细介绍了如何在ARM64架构下编译和部署Milvus,包括环境搭建、源码下载与编译、Docker镜像制作等关键步骤。通过本文的方法,您可以快速构建适用于ARM64设备的Milvus编译环境,并解决常见的编译错误。同时,还提供了基于Docker Compose的测试方法,帮助用户高效地完成向量数据库的部署与应用。这是一次深入探索开源AI工具的实用指南,为开发者在多种硬件架构上的创新应用提供了强有力的支持。

小盒子的博客 1268

早鸟票倒计时|TVM/Triton/TileLang同台炫技,Meet AI Compiler邀你一同解锁AI编译器的无限可能!

早鸟票倒计时|TVM/Triton/TileLang同台炫技,Meet AI Compiler邀你一同解锁AI编译器的无限可能!

HyperAI超神经 1757

vue项目表格甘特图开发

🧩 甘特图可以管理项目进度,生产进度等信息,管理者可以更直观的查看内容。

qq_35946021的博客 991

AI Complier明日开讲丨AMD/沐曦/字节/北大线下集结,TVM/Triton/TileLang各展所长

2022 年 11 月,在 MLC.AI 社区志愿者的共同努力下,首个完整的 TVM 中文文档上线,并成功托管至 HyperAI超神经官网,进一步为对机器学习编译感兴趣的国内开发者,提供了接触并学习一门新技术的基础设置——文档。旨在通过提供行业资讯报道、数据集加速下载、在线教程演示、热门模型性能评测、前沿论文推荐、高价值成果解读、顶会日历集成等一系列服务,助力全球数据科学及⼈⼯智能⾏业的开发者及爱好者学习、理解、实践,与社区⼀起构建⼈⼯智能的未来。这次讨论主要围绕如何在沐曦 GPU 上应用 TVM。

HyperAI超神经 1130

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

AMD/沐曦/字节跳动/北京大学/上海创智共赴 Meet AI Compiler,聚焦底层编译与跨硬件编译生态的真实落地实践

2022 年 11 月,在 MLC.AI 社区志愿者的共同努力下,首个完整的 TVM 中文文档上线,并成功托管至 HyperAI超神经官网,进一步为对机器学习编译感兴趣的国内开发者,提供了接触并学习一门新技术的基础设置——文档。旨在通过提供行业资讯报道、数据集加速下载、在线教程演示、热门模型性能评测、前沿论文推荐、高价值成果解读、顶会日历集成等一系列服务,助力全球数据科学及⼈⼯智能⾏业的开发者及爱好者学习、理解、实践,与社区⼀起构建⼈⼯智能的未来。

HyperAI超神经 1204

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

活动回顾|AMD/沐曦/字节/北京大学深度解析跨硬件的统一编译生态

2025 Meet AI Compiler 第 7 期技术沙龙于 7 月 5 日在北京中关村圆满落幕。

HyperAI超神经 985

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

完整议程|上海创智/TileAI/华为/先进编译实验室/AI9Stars齐聚上海,深度拆解算子优化的全链路实践

2025 Meet AI Compiler 第 8 期技术沙龙将于 12 月 27 日在上海创智学院举办。

HyperAI超神经 1382

活动预告 | AMD/沐曦/字节/北京大学/上海创智齐聚北京,从底层编译到场景应用的多视角探索

2025 Meet AI Compiler 第 7 期技术沙龙将于 7 月 5 日在北京市车库咖啡举办。

HyperAI超神经 1715

TileLang 使用教程

TileLang 是一个简洁的领域特定语言(DSL),旨在简化高性能 GPU/CPU 内核(如 GEMM、Dequant GEMM、FlashAttention、LinearAttention)的开发。通过采用类似 Python 的语法和一个基于 TVM 的底层编译器架构,TileLang 允许开发者在不牺牲低级别优化的情况下,专注于提高生产效率。 ## 2. 项目快速启动 ### 安装 #...

gitblog_00722的博客 3080

Tile级原语与自动推理机制融合,TileAI社区发起人深度剖析TileLang核心技术与优势

TileAI 社区发起人王磊博士以「Bridge Programmability and Performance in Modern AI Workloads」为题,深入浅出地介绍了创新的算子编程语言 TileLang,本文为其深度分享实录。

HyperAI超神经 1814

[GPU] TileLang vs Triton: 选择合适的GPU编程语言

*GPU编程正在从手工优化向自动化、从单一平台向跨平台、从简单抽象向多层次抽象发展。TileLang和Triton都是这个趋势的重要参与者,它们将推动整个生态系统向前发展。*

No Game No Life 2185

全文 -- TileLang: A Composable Tiled Programming Model for AISystems

现代AI工作负载在训练和推理过程中高度依赖优化的计算内核。这些AI内核遵循明确的数据流模式,例如在DRAM与SRAM之间移动数据块,并对这些数据块执行一系列计算。尽管这些模式清晰可见,编写高性能内核依然复杂。要实现峰值性能,需要以硬件为中心进行细致优化,以充分利用现代加速器。虽然领域专用编译器试图减轻编写高性能内核的负担,但它们在易用性和表达性方面仍存在不足。本文提出TileLang,一种通用的分块编程模型,旨在实现更高效的AI内核编程。

eloudy的专栏 1491

TileLang简介

最近Deepseekv3.2发布关注到TileLang,简单总结下;

Mr.Gao的博客 1019

TileLang快速入门:30分钟实现你的第一个高性能算子

你是否还在为GPU算子开发效率低下而困扰?是否面对CUDA/ROCm复杂的编程模型望而却步?本文将带你30分钟上手TileLang——这款专为高性能异构计算设计的领域特定语言(Domain-Specific Language,DSL),从零开始实现一个带ReLU激活的矩阵乘法算子,并通过PyTorch验证其正确性。 读完本文你将掌握: - TileLang核心语法与编程范式 - 高性能算子开发的...

gitblog_00752的博客 1019

TileLang vs Triton:AI编译器性能对决与适用场景分析

在AI大模型训练与推理场景中,GPU核函数性能直接影响整体效率。TileLang(领域特定语言)与Triton(开源AI编译器)作为两类高性能编程工具,常被用于优化Transformer架构中的关键算子。本文通过稀疏注意力(Sparse Attention)算子实现对比,从开发效率、性能表现和场景适配三方面展开深度分析,为开发者选择工具提供决策依据。 ## 核心技术架构对比 TileLang与...

gitblog_00388的博客 1098

TileLang:国产高性能计算新锐语言

TileLang 是一种专为高性能计算设计的国产算子编程语言,其核心思想是通过抽象化底层硬件细节,让开发者专注于算法逻辑。语言采用类 Python 的语法风格,但内置张量计算原语,支持自动并行化和硬件加速。内存模型采用写时复制(Copy-on-Write)机制,配合惰性求值策略减少不必要的内存拷贝。TileLang 的编译器能将高级语言代码转换为优化的中间表示(IR),并针对不同硬件后端(如 CPU/GPU/TPU)生成高效机器码。其类型系统支持泛型张量,允许编写硬件无关的算法代码。

EYW_uage的博客 603
上一篇: 深度强化学习赋能城市消防优化,中科院团队提出DRL新方法破解设施配置难题
下一篇: 【Triton 教程】triton_language.num_programs
HyperAI超神经
博客等级 码龄7年 8873粉丝 1753原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值