博客
分类
标签
归档
友链
关于
Dark Mode
博客
分类
标签
归档
友链
关于
Dark Mode
Mens et Manus
首页
帮助
示例
社区
档归
源码
shfl, warp-level primitives
shfl: warp-level primitives一个warp有32个thread, warp内的线程称为通道(lanes), lane id的计算方法是threadid % 32, warp id的计算方法是threadid / 32。 线程束洗牌: warp-level原语 可以直接获取warp内的线程的寄存器值,直接使用寄存器交换 每次调用都会同步warp内的线程, sync m...
2024-08-11
Read More
bank confict和冲突消解
bank confict和冲突消解 bank conflict 4Byte一个bank 简单方法 ldmatrix swizzle GPU为了提升并行度,可以提供了同时访问share memory功能,多个线程访问smem的不同bank可以并行,N个线程访问同一个bank就会串行执行,这就是bank conflict,称为N路bank conflict。 假设GPU中4 Byte一个b...
2024-08-10
Read More
通过例子理解CUDA driver api和CUDA PTX
通过例子理解CUDA driver api和CUDA PTXcuda程序经过编译器编译后后添加很多对cuda driver api的调用, 这样用户就不用关心gpu module管理, context管理, kernel管理等的细节了。 不过我们就是想要知道细节, 所以这篇文章通过直接使用cuda driver api加载cuda ptx执行的方式体会其中的细节。 我们的目标是将下面这个cu...
2022-12-28
Read More
GPGPU-sim部署 + Ubuntu切换软件版本
环境 ubuntu18.04 cuda11 gcc5.5 流程安装依赖, 安装gcc5GPGPU-sim所需的依赖如下 GPGPU-Sim dependencies: 1sudo apt-get install build-essential xutils-dev bison zlib1g-dev flex libglu1-mesa-dev GPGPU-Sim documentation...
2022-11-05
Read More