
CUDA极简入门
文章平均质量分 92
橙狮科技
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CUDA编程极简入门(三):CUDA实操
本练习将练习 1 中的向量加法扩展到使用多个线程块。内核可以启动多个线程块,这些线程块被组织成一个“grid”结构。第二章中,我们仅使用一个 GPU 线程在 CUDA 中实现了向量加法。使用 256 个线程,加法可以分散到各个线程并同时计算。要将线程分配给特定元素,我们需要知道每个线程的唯一索引。在本练习中,我们将使用具有 256 个线程的线程块并行化第2章中的向量加法。我们不使用线程块来迭代数组,而是使用多个线程块来创建。使用具有 256 个线程的线程块进行并行化。包含线程块的大小(线程块中的线程数)。原创 2025-01-13 14:34:27 · 885 阅读 · 0 评论 -
CUDA编程极简入门(二):Hello World
在 CUDA 术语中,CPU 内存称为主机内存,GPU 内存称为设备内存。指向 CPU 和 GPU 内存的指针分别称为主机指针和设备指针。在本章中,我们演示了如何在 CUDA 中编写一个简单的向量加法。此外,我们还介绍了 CPU 和 GPU 之间分离内存空间的概念。该示例计算存储在数组和./vector_add.c中的两个向量的加法,并将结果放入数组 中。在 CUDA 工具包中提供了一个名为 CUDA 编译器来编译 CUDA 代码,通常存储在扩展名为 的文件中。CUDA 提供了几个用于分配设备内存的函数。原创 2025-01-10 15:19:49 · 1132 阅读 · 0 评论 -
CUDA编程极简入门(一):基础知识点
架构,基本的执行单元是线程束(warps),线程束包含32个线程,这些线程同时执行相同的指令,但是每个线程都包含自己的指令地址计数器和寄存器状态,也有自己独立的执行路径。所以尽管线程束中的线程同时从同一程序地址执行,但是可能具有不同的行为,比如遇到了分支结构,一些线程可能进入这个分支,但是另外一些有可能不执行,它们只能死等,因为GPU规定线程束中所有线程在同一周期执行相同的指令,线程束分化会导致性能下降。当一个kernel被执行时,它的gird中的线程块被分配到SM上,一个线程块只能在一个SM上被调度。原创 2025-01-10 14:13:47 · 796 阅读 · 0 评论