使用 Nsight 系统分析 CUDA:Numba 示例

通过检查 Nsight 系统中的并发和并行 Numba CUDA 代码了解性能分析。

介绍

优化是编写高性能代码的关键部分,无论你是在编写 Web 服务器还是计算流体力学模拟软件。分析功能可让你对代码做出明智的决策。从某种意义上说,没有分析功能的优化就像盲目飞行:对于拥有专业知识和敏锐直觉的经验丰富的专业人士来说,这基本上没问题,但对于几乎所有其他人来说,这都是灾难的根源。

image-20240605162936964

阅读更多

Numba 的 CUDA 示例:原子和互斥

本教程为 Numba CUDA 示例 第 4 部分。

本系列第 4 部分总结了使用 Python 从头开始学习 CUDA 编程的旅程

介绍

在本系列的前三部分(第 1 部分第 2 部分第 3 部分)中,我们介绍了 CUDA 开发的大部分基础知识,例如启动内核来执行高度并行的任务、利用共享内存执行快速缩减、将可重用逻辑封装为设备功能,以及如何使用事件和流来组织和控制内核执行。

图 3.0。使用“达利风格的原子心母亲专辑封面”运行稳定扩散。

阅读更多

Numba 的 CUDA 示例(3/4):流和事件

本教程为 Numba CUDA 示例 第 3 部分。

按照本系列的第 3 部分,了解 Python CUDA 编程中的流和事件

介绍

在本系列的前两部分(第 1 部分第 2 部分)中,我们学习了如何使用 GPU 编程执行简单的任务,例如高度并行的任务、使用共享内存的缩减以及设备功能。我们还学习了如何从主机对函数进行计时 — 以及为什么这可能不是对代码进行计时的最佳方式。

使用“墨西哥湾流多彩空间平静”运行

阅读更多

Numba 的 CUDA 示例(1/4):踏上并行之旅

按照本系列从头开始使用 Python 学习 CUDA 编程

介绍

GPU(图形处理单元),顾名思义,最初是为计算机图形学开发的。从那时起,它们几乎在每个需要高计算吞吐量的领域都无处不在。这一进步得益于 GPGPU(通用 GPU)接口的发展,这些接口使我们能够对 GPU 进行编程以进行通用计算。这些接口中最常见的是CUDA,其次是OpenCL,最近的是 HIP。

img

阅读更多