gpgpu-sim卡分配程序设计实例分析
运行代码地址:https://github.com/gpgpu-sim/gpgpu-sim_distribution
一.概述
此文件包含有关安装、生成和运行GPGPU Sim卡的说明。
有关GPGPU Sim卡型号、配置方法和源代码指南的详细文档,请参阅:<http://gpgpu-sim.org/ manual/>.
下面是构建doxygen源代码文档的说明。
有关gpuwatch的详细文档(包括如何配置)和源代码指南,请参阅:http://gpgpu-sim.org/gpuwatch/.
二. GPGPU Sim卡贡献与历史
GPGPU Sim是由不列颠哥伦比亚大学的Tor
Aamodt研究小组创建的。许多人直接参与了GPGPU Sim的开发,包括:Tor Aamodt、Wilson W.L.Fung、Ali Bakhoda、George Yuan、Ivan Sham、Henry Wong、Henry Tran、Andrew Turner、Aaron Ariel、Inderpret Singh、Tim Rogers、Jimmy Kwa、Andrew Boktor、Ayub Gubran Tayler Hetherington等。
GPGPU-Sim模拟了与非图形应用程序相关的现代图形处理器的功能。GPGPU-Sim的第一个版本在MICRO’07纸张中使用,随后ACM-TACO纸张用于动态翘曲成形。该版本的GPGPU Sim使用SimpleScalar PISA指令集进行功能模拟,并使用各种配置文件指示哪些循环应作为GPU上的内核生成,以及IMT执行为CUDA提供一个simlar编程模型OpenCL.创建原始GPGPU-Sim仿真环境的基准测试是一个非常耗时的过程,一些人质疑GPU上CPU代码生成的有效性。
这些问题促使开发一个直接运行CUDA应用程序的接口,以利用正在开发的越来越多的应用程序使用CUDA。随后添加了对OpenCL的支持,并删除了所有SimpleScalar代码。
互连网络是用斯坦福大学比尔·达利研究小组开发的booksim仿真环境模拟的。
生成与GPU上运行同一个CUDA程序的输出相匹配的输出,使用CUDA数学库实现了几个PTX指令(CUDA工具包的一部分)。与CUDA数学接口的代码库包含在cuda math.h中,还包括vector_types.h(CUDA头文件之一)派生的几个结构文件。
GPUwatch能量模型
GPUWattch(在gpu Sim 3.2.0中引入)是由不列颠哥伦比亚大学、德克萨斯大学奥斯汀分校和威斯康星大学麦迪逊分校的研究人员开发的。GPUwatch的贡献者包括Tor Aamodt在不列颠哥伦比亚大学的研究小组:Tayler Hetherington和Ahmed Eltanawy;Vijay Reddi在德克萨斯大学奥斯汀分校的研究小组:Jingwen Leng;以及Nam Sung Kim在威斯康星大学麦迪逊分校的研究小组:Syed Gilani。
gpuwatch利用了在圣母大学、惠普实验室、首尔国立大学和加州大学圣地亚哥分校的Sheng Li等人开发的McPAT。
论文链接地址:http://www.hpl.hp.com/research/mcpat/micro09.pdf。
三.安装、构建和运行GPGPU Sim
假设系统上安装了GPGPU Sim所需的所有依赖项,要构建GPGPU Sim,只需将以下行添加到~/.bashrc文件中(假设CUDA工具包安装在/usr/local/CUDA中):
export CUDA_INSTALL_PATH&