OpenGPGPU,开源
 
 

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

软件部分

1. 环境搭建

目前,项目支持ubuntu22.04和centos7.9两个版本,其他系统版本可能会出现工具版本不兼容等问题;环境构建的方法如下:

  • 方法一:手动安装,参考构建说明第2部分安装依赖工具;

  • 方法二:dockerfile安装,参考构建说明第6部分使用dockerfile构建系统镜像;

2. 工具链的获取方式

3. 工具链的使用

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

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

注:软件工具链中包含的仿真器是spike指令级仿真;


硬件部分

步骤参考: 

    具体以仓库THU-DSP-LAB/ventus-gpgpu的README.md说明为主。

    下面以高斯在ubuntu22.04中为例,进行说明。

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 test (此时测试的是默认的用例)

  • 安装 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的目录下,终端运行以下命令,开始硬件执行用例:

make test

若出现如下情况,表明用例运行完毕;

pass.png

  • step 4:(可选)

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

gtkwave

打开./test_run_dir/adv_test2/GPGPU_SimWrapper.fst,即可看波形,如下:

boxing.png