CUDA 10 Memory Transaction的一个现象

1. Introduction近日,在写一些microbenchmark分析cuda程序访存问题时,发现了一个有趣的问题。目前尚未找到合理的解释,先记录下来以待后续分析。实验平台为:NVIDIA GTX950,sm5.0,maxwell架构。2. Global MemoryA memory "request" is an instruction which accesses memory, and a "transaction" is the movement of a unit of da more ...

CUDA二进制探索

本文记录了探索NVIDIA CUDA SASS语法对应的二进制位的过程。1. CUDA二进制文件1.1 SASSNVCC编译过程和解读CUDA汇编PTX(二) SASS nvdisasm工具提过CUDA的汇编SASS,使用cuobjdump工具反编译出的SASS格式如下: more ...

GPU寄存器(二)

1. Introduction本文介绍了NVIDIA GPU寄存器的相关内容。2. GPU寄存器2.1 物理寄存器的映射关于gpu寄存器之前我还整理过:GPU寄存器一个程序的近机器语言级别的中间语言中适用的寄存器,我们称之为“体系结构寄存器,architected register”,这些寄存器会被处理器映射到物理寄存器(Physical Registers)上。CPU使用寄 more ...

Cache替换策略

1. Introduction本文主要内容系Reference的整理,介绍了cache访问模式的分类和几种cache替换策略。2. Cache访问模式分类$$\begin{align}&A:( a_1 , a_2 , ... , a_{k-1} , a_k , a_k , a_{k-1} , ... , a_2 , a_1 )^ N\text{ for any k}\\&B:( a_1 , a_2 , ... , a_k )^ N \text{ k > cache size}\\&C:(( a_ more ...