
CUDA
文章平均质量分 91
疯狂的码泰君
代码不是信仰,又有什么可以成为信仰呢!哦,还有鲁能泰山!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
理解GPU架构:基础与关键概念
本文概述了GPU的基础架构及其在AI与高性能计算中的核心作用。CPU与GPU的关键区别在于CPU擅长顺序处理,而GPU专为大规模并行计算设计。GPU拥有复杂的内存层次结构(SRAM缓存、DRAM显存和HBM高性能内存),优化数据传输对性能至关重要。Streaming Multiprocessors(SMs)是GPU的基本处理单元,包含多个核心,按warp(32/64核心组)执行指令。为优化性能,需减少内存传输、提高并行度,并使工作负载尺寸匹配warp大小。理解这些机制有助于充分发挥GPU在AI、渲染等任务中原创 2025-08-15 11:01:37 · 740 阅读 · 0 评论 -
快速掌握 Triton:Python 化的高性能 GPU 编程语言
Triton是OpenAI开源的高性能Python化GPU编程语言,它让开发者能快速编写接近CUDA性能的GPU内核代码。本文介绍了Triton的基本用法和核心优势: Triton通过@triton.jit装饰器定义GPU内核,使用类似NumPy的编程方式,自动处理内存合并、共享内存管理等优化,只需25行代码就能实现与cuBLAS相当的性能。 文章通过向量加法示例展示了Triton编程模型:使用SPMD(单程序多数据)模式,通过程序ID和块大小计算偏移量,利用mask处理边界条件,实现高效的向量化内存访问。原创 2025-08-15 10:57:45 · 969 阅读 · 0 评论 -
从Triton入门:一步步教程
Triton是一个开源的GPU编程语言和编译器,旨在简化AI和深度学习中的高性能GPU代码编写。本教程介绍Triton的核心功能、安装方法及使用场景。Triton通过Python抽象GPU编程复杂度,自动优化内存访问和线程调度,性能接近专家级CUDA代码,同时提高开发效率。安装部分详细说明Linux(官方支持)、Windows(通过WSL2)和macOS(实验性支持)的配置方法。Triton特别适合需要定制GPU内核的AI研究者,填补了高级框架与底层CUDA之间的空白,是AI加速领域的重要工具。原创 2025-08-15 10:52:47 · 671 阅读 · 0 评论 -
CUDA 入门教程(GPT优化版)
CUDA编程学习路径与核心概念摘要 本学习路径系统介绍了CUDA编程的入门与进阶方法: 环境搭建:安装CUDA Toolkit,配置VS或VS Code开发环境 核心概念:掌握线程层级(thread→block→grid)、主机-设备协作流程(内存分配→数据传输→kernel调用→结果回传) 实战练习:从向量加法等基础运算逐步过渡到共享内存优化、Tensor Core应用 性能调优:使用Nsight工具分析性能,采用分阶段优化策略 高级应用:PyTorch扩展、CUTLASS库等优化方案 关键编程抽象包括:原创 2025-08-14 10:12:23 · 1051 阅读 · 0 评论 -
CUDA 编程指南 —— 编程接口之CUDA Runtime
编程模型假设系统由主机和设备组成,每个主机和设备都有自己独立的内存。设备内存概述了用于管理设备内存的运行时函数。进行动态链接的应用程序通常将它们作为应用程序安装包的一部分。引入了页锁定主机内存,需要将内核执行与主机和设备内存之间的数据传输重叠。描述了用于在系统中的各个级别启用异步并发执行的概念和 API。展示了编程模型如何扩展到具有连接到同一主机的多个设备的系统。介绍了运行时提供的各种函数,用于与两个主要图形 API(描述了如何正确检查运行时生成的错误。运行时符号的地址才是安全的。动态链接到应用程序。原创 2024-02-26 10:00:25 · 693 阅读 · 0 评论 -
CUDA 编程指南 —— 编程接口之使用NVCC编译
CUDAC++ 为熟悉 C++ 编程语言的用户提供了一条简单的途径,可以轻松编写供设备执行的程序。它由 C++ 语言的最小扩展集和运行时库组成。核心语言扩展已在编程模型中引入。它们允许程序员将内核定义为 C++ 函数,并在每次调用该函数时使用一些新语法来指定网格和块维度。所有扩展的完整描述可以在 C++ 语言扩展中找到。包含其中一些扩展的任何源文件都必须使用 nvcc 进行编译,如使用NVCC编译中所述。运行时是在中引入的。原创 2024-02-26 09:54:27 · 1484 阅读 · 0 评论 -
CUDA C++ 编程指南系列教程 —— 编程模型
本章通过概述 CUDA 编程模型背后的主要概念如何在 C++ 中公开来介绍它们。编程接口中给出了 CUDA C++ 的详细描述。本章和下一章中使用的向量加法示例的完整代码可以在 vectorAdd CUDA 示例中找到。原创 2024-02-25 10:36:18 · 1197 阅读 · 2 评论 -
CUDA C++ 编程指南
虽然 CPU 被设计为擅长以尽可能快的速度执行一系列称为线程的操作,并且可以并行执行几十个这样的线程,但 GPU 被设计为擅长并行执行数千个线程(摊销较慢的单线程性能以获得更大的吞吐量)。面临的挑战是开发能够透明地扩展其并行性的应用程序软件,以利用数量不断增加的处理器核心,就像 3D 图形应用程序透明地扩展其并行性到具有广泛不同数量的核心的多核 GPU 一样。多线程程序被划分为彼此独立执行的线程块,因此具有更多多处理器的 GPU 会比具有更少多处理器的 GPU 在更短的时间内自动执行程序。原创 2024-02-25 10:01:39 · 1710 阅读 · 0 评论 -
更简单地介绍 CUDA
这篇文章是对 CUDA 的超级简单介绍,CUDA 是 NVIDIA 流行的并行计算平台和编程模型。我之前在2013年写过一篇文章《CUDA简单介绍》,多年来一直很受欢迎。但 CUDA 编程变得更加容易,GPU 也变得更快,所以是时候进行更新(甚至更简单)的介绍了。CUDA C++ 只是使用 CUDA 创建大规模并行应用程序的方法之一。它允许您使用强大的 C++ 编程语言来开发由 GPU 上运行的数千个并行线程加速的高性能算法。原创 2024-02-24 11:20:18 · 784 阅读 · 0 评论