本文介绍了使用 CUDA 实现矩阵转置的两种方式与优化方法。
本文介绍了使用 CUDA 实现矩阵转置的两种方式与优化方法。
CUDA 中的线程束内基本函数包括:
其中,线程束匹配函数和线程束矩阵函数都只能在 Volta 及更高架构的 GPU 中使用。本文主要介绍线程束洗牌函数。
本文介绍了 CUDA 编程中的 bank 冲突的原理和解决方法。
关于 CUDA 合并访存的知识点,来自《CUDA 编程:基础与实践》(樊哲勇,清华大学出版社)。
CUDA 知识点:GPU utilization 是如何计算的? | CUDA
在编写 GPU 程序时,我们经常使用 nvidia-smi 命令查看某张显卡的 GPU 利用率,那么这个利用率是如何计算的呢?
CUDA 驱动程序通过检查内存范围判断某个地址是锁页内存还是分页内存。锁页内存存储在物理内存中,因此 device 可以在没有 CPU 帮助的情况下获取它(通过DMA)。分页内存在通过 DMA 访问时会产生缺页中断,并且它有可能在磁盘上。在这种情况下,device 需要访问分页内存的每一页,将其拷贝到锁页内存缓冲区,然后再将其通过 DMA 一页页拷贝到 device 上。所以,使用锁页内存更快是因为省掉了从分页内存拷贝到锁页内存的时间。
11 嵌套过程调用 | 《Let’s Build A Simple Interpreter》笔记
本系列是《Let’s Build A Simple Interpreter》的阅读笔记。
在当前的代码实现中,过程对应的嵌套层级被写死成了 2,对于嵌套过程调用并不适配,需要做出修改。
10 执行过程调用 | 《Let’s Build A Simple Interpreter》笔记
本系列是《Let’s Build A Simple Interpreter》的阅读笔记。
本文将解读执行过程调用的代码。
09 调用栈与活动记录 | 《Let’s Build A Simple Interpreter》笔记
本系列是《Let’s Build A Simple Interpreter》的阅读笔记。
为了实现统一访问全局变量和局部变量,本文将把 GLOBAL_MEMORY 字典替换成调用栈与活动记录。