Parboil使用说明

写在最前

Parboil是一个多平台的Benchmark,官网在这里,这篇博文对如何编译该benchmark做简要描述

下载

从上面官网,需要把benchmark源码,driver,还有datasets都下载下来,然后解压driver文件会得到一个parboil文件夹,将下载得到的benchmark源码文件夹,datasets文件夹放到这个文件夹中,命名分别为benchmarks 和 datasets,文件结构如图所示:

Parboil使用说明_第1张图片

如果不按照这个名字命名和防止,无法使用parboil的命令。如图可以看到三个README,如果想深入操作需要都阅读一下,特别是第三个buildsystem,讲编译的文件结构。

修改编译文件

这里我们以cuda为例,讲解如何根据需要修改编译文件(具体内容也可参照README.buildsystem)

  1. 这里的主要操作就是在./parboil/common目录下进行。首先进入目录,里面有三个makefile.conf的模板,选择cuda的那一个,打开之后根据你本机的目录设定好cuda的路径即可

  2. 进入plateform目录,修改cuda.default.mk,将里面的PLATFORM_CUDACFLAGS修改为你需要的编译选项,比如这里我们将其修改为PLATFORM_CUDACFLAGS=-O1 -Xptxas -v -arch sm_61

  3. 之后回到parboil根目录,打开终端,输入./parboil list可以查看你有的benchmark如图所示:

    Parboil使用说明_第2张图片

    这里可以输入./parboil help查看各个命令的帮助

  4. 然后我们想要编译其中一个app,就直接执行./parboil compile spmv cuda 其中spmv为app名,cuda为平台名。一般这样就可以编译得到想要的app,但是有时候需要修改app的编译文件,就需要进入到benchmarks/spmv/src/cuda 修改makefile文件。修改之后一般就可以成功编译了

更新

  1. 2018.5.16
    今天使用parboil编译成功之后,运行时总提示参数不对,看了parboil头文件才知道,需要用-i inputfile和-o outputfile来指定输入输出文件,至于每个app的参数,在datasets文件夹中有描述。然后,多输入的时候,需要-i file1,file2,file3用逗号隔开

你可能感兴趣的:(parboil,cuda,benchmark,GPU)