gpgpu-sim 源码学习笔记
gpgpu-sim 源码学习笔记
1. doc
user guide
main page
isca2012 tutorial
micro2012-tutorial
function
- 提供cycles精确的GPGPU仿真模型
- 支持PTX功能模拟
- 提供功耗模型:GPUWattch
- 提供丰富的debug工具
- 提供与硬件GPU性能拟合工具
arch chart
coding style
input & output
-
通过grep & find查找关键字了解代码的局部
以关键字开始,自底向上发现call stack
文档中有疑惑的关键字都可如此跟踪
2. build flow
dir structure
cd $your-gpgpu-sim_distribution-dir
tree -L 2
command interface & config
build system
执行步骤
$ cd $your-gpgpu-sim_distribution-dir
$ source setup_environment
$ make
3. run & debug
run tests
output info
debug mode & step run
data flow & ctrl flow
4. code structure analysis
object-class analysis
- doxygen:call graph
$ cd $your-gpgpu-sim_distribution-dir
$ make docs
$ firefox doc/doxygen/html/index.html
- UML descript
chart & key structure
- gpgpu-sim支持cycle精度的仿真,可以通过搜索关键字cycle发现一下有用信息
根据cycle的调用关系及类-对象关系,我们可以找到模块之间的调用关系即从属关系
full-text browsing
tools |
---|
doxygen |
vim+ctags |
opengrop |
基于之前的跳跃学习源码已经理解文档与代码的基本结构,我们还需要通读一下源码,通过通读源码深入理解各个模块间的关系,熟悉代码结构。
5. git replay
另外,我们可以通过git来查看仓库在时间序列上的变化,了解整个项目的生命周期以及各个模块的演进变化。
6. others
benchmark
toolchain
7. reference
形而上者谓之道 形而下者谓之器。