OpenGPGPU,开源
 
 

代码仓 白皮书 文档 Get Started 版本发布
Get Started

软件部分

1. 工具链的获取方式

  • 方法一:参考构建说明,自行构建;

  • 方法二:直接获取release版本,参考构建说明第2部分安装依赖工具;

    注:建议采用ubuntu 22.04版本,否则可能会出现系统工具版本不兼容等问题;

2. 工具链的使用

  • 单个warp中thread的数目num_thread,默认为32;在工具链使用之前,用户若有硬件需求,采用“export NUM_THREAD=指定数字”的方式,设置预期的num_thread;(num_thread的设置会影响.metadata文件中自动生成的nWarps的大小,建议num_thread尽量小)

  • 可以结合构建说明的第3部分和用户的测试套使用说明,设置相应的环境变量,编译并运行测试用例;用例运行完,会生成对应的.metadata以及.data文件;

注:这里运行用例,采用spike指令集仿真;


硬件部分

1. 下载代码

git clone https://github.com/THU-DSP-LAB/ventus-gpgpu.git

2. 安装工具

  • 依赖工具

终端执行:

sudo apt-get install verilator openjdk-11-jdk

  • mill                                  

进入ventus-gpgpu目录,目录下已存在可执行文件mill;终端执行以下命令:

cd ventus-gpgpu

make init

make patch

执行./mill -v检查是否安装完毕:

Picture1.png

  • 安装 idea(可选)

进入ventus-gpgpu目录,终端执行        

cd ventus-gpgpu

make idea

 工具下载链接: https://www.jetbrains.com/zh-cn/idea/download

3. 跑测试用例

硬件运行用例,只需要在ventus/txt下,将用例的.metadata以及.data文件放到新建文件夹下,并在_cases.ini补充对应信息,即可硬件运行用例;

以在硬件下执行gaussian为例:

  • step 1:

在./ventus/txt目录下创建文件夹“last_gaussian”,

cd ./ventus/txt

mkdir last_gaussian

将.metadata以及.data拷贝过来,如图:

Picture2.png

注:文件.metadata和.data是一一对应的;

  • step 2:

在./ventus/txt/_cases.ini文件中增加以下信息,

[last_gaussian]                                                                 

nWarps=4                                                                        

SimCycles=25000                                                                 

Files=Fan1_0,Fan2_0,Fan1_1,Fan2_1,Fan1_2,Fan2_2 

分别是文件夹名、预期单个workgroup下的warp数、预期运行的周期数以及.metadata(或.data)文件对应的名;

在./ventus/txt/_cases.ini文件,修改指定执行的程序为last_gaussian:

Default=last_gaussian


注:nWarps是可以自动从.metadata中获取的,若用户有预期的warp数可以在这里手动设置,硬件最终会在手动设置与自动获取的warp数中取最大值;

SimCycles的大小由用户依据用例自行设置;


  • step 3:

回到ventus-gpgpu的目录下,终端运行以下命令,开始硬件执行用例:

./mill -i ventus.tests.testOnly play.AdvancedTest

若出现如下情况,表明用例运行完毕;“time out”是设置的周期比用例运行的时间长,并不影响:

Picture3.png

  • step 4:(可选)

ventus-gpgpu的目录下,终端执行:

gtkwave

打开./test_run_dir/adv_test/GPGPU_SimWrapper.vcd,即可看波形,如下:

Picture4.png