依赖=>Spack
-
GPGPU-SIM的手动安装过程较为复杂,很容易因为依赖导致安装失败
-
强烈推荐通过Spack安装
-
这里介绍参考上面的安装方法
- 在安装好spack后,运行命令
spack create gpgpu-sim
并修改内容为package.py - 运行命令
spack install gpgpu-sim%[email protected] ^ mesa~llvm
- 在安装好spack后,运行命令
依赖=>通过spack安装GPGPU-SIM
GPGPU-SIM仿真需要在运行目录下存在config文件,且每次运行过后都会有很多其他文件生成,导致文件混乱
-
为了解决上述问题,我写了几个脚本来在GPGPU-SIM上仿真程序
-
例如,你想使用
RTX2060
配置仿真,你的仿真程序为test.cu
,你的Spack上CUDA版本为11.7
,你需要通过nvcc编译仿真程序,你的Spack上GPGPU-SIM为[email protected]
,那么你需要在run.sh中修改变量NAME=test
、CONFIG=RTX2060
、[email protected]
、IFBUILD=1
,CUDAVERSION=11.7
,将test.cu
放到${SRC}
目录下,并在终端中输入如下命令或者你也可以将编译好的程序放到
${BIN}
目录下,并修改IFBUILD=0
# pwd # **/SimpleUseGpgpuSim 确保当前目录在SimpleUseGpgpuSim bash run.sh
-
此时文件(your_dir)目录结构为
- bin 目录存放编译好或提前放置的可执行程序
- sim 目录存放每次仿真后GPGPU-SIM自动输出的文件和指定的配置文件
- out 目录存放每次仿真后GPGPU-SIM的输出信息
|-- run.sh |-- src |-- test.cu |-- bin |-- test |-- sim |-- [email protected] |-- ... |-- out |-- [email protected]
-
变量的使用详见
run.sh
中的注释
-
批量仿真基于单次仿真
-
假如你想仿真
test1.cu
和test2.cu
程序,并希望使用GPGPU-SIM4.0.1
版本仿真(需要Spack中存在以上版本),仿真配置为RTX2060
或QV100
,修改好的变量见batch_run.sh
,并在终端输入如下命令# pwd # **/SimpleUseGpgpuSim 确保当前目录在SimpleUseGpgpuSim bash batch_run.sh
-
得到的文件目录结构和单次仿真一致
依赖=>通过spack安装GPGPU-SIM
例如,你修改了GPGPU-SIM的源码,那么怎么通过Spack重新构建GPGPU-SIM?
- 可以通过
syn_gpgpu_sim.sh
完成一键重新构建 - 例如,你修改的GPGPU-SIM的路径为
~/gpgpu-sim
,在syn_gpgpu_sim.sh
修改GPGPUSIM_DIR=~/gpgpu-sim
,并在终端输入# pwd # **/SimpleUseGpgpuSim 确保当前目录在SimpleUseGpgpuSim . syn_gpgpu_sim.sh
注意需要运行命令
spack edit gpgpu-sim
并修改为package.py - 变量的使用详见
syn_gpgpu_sim.sh
中的注释 - syn_gpgpu_sim.sh