源代码安装FIO并启用GDS(cufile)引擎

想用benchmark去测试GDS(GPUDirectStorage)的速度,一般会采用英伟达官方的Gdsio,但FIO在3.26版本中提供了可以使用GDS的引擎,所以笔者选择使用FIO和Gdsio做实验对比。
但苦于GDS关注度太低,非官方资料实在太少,即使是英文搜索也没有解决方案,整个安装过程非常艰难。所以动笔写下了本文,希望能给到后来者一些帮助。


0. 环境

本文的对象是已经装有GDS的开发者,所以不提供GDS相关的安装教程。

系统:ubuntu 18.04
GPU:Quadro p4000

1. 下载FIO

如果是一般用途的话,只需要apt/yum去从仓库去一键安装即可。但由于cufile引擎并非默认功能,我们需要从github或者其他途径去获取源代码安装。

$ git clone https://github.com/axboe/fio.git

2. 配置路径

进入到FIO文件夹中,可以运行

$ ./configure

去测试环境中的库是否完整。

之后我们就要确定在/usr/lib中有libcudart.solibcufile.so这两个链接,如果没有就在GDS的路径里找到源文件并新建一个链接到/usr/lib中(此处注意创建链接时要用绝对路径)。

3. 修改配置

在确定好上一节内容无报错之后,我们就可以修改configure文件来开启libcufile引擎了。
利用文字编辑器打开configure,利用搜索功能查看# Default CFLAGS部分,在CFLAGS行添加

I/usr/local/cuda/lib64 -I/usr/local/cuda/include -I/usr/lib

再利用搜索功能搜索compile_prog(),在这个函数的do_cc行中末尾添加

-ldl

同样利用搜索功能查找 # default options部分,将其中的libcufilecuda项都改为yes

最后,搜索# libcufile probe部分,在#include 后添加

#include 

完成后即可保存退出。

4. 应用配置并安装

完成上节内容后再次运行configure文件,配置通过后输入

$ make

进行编译,如果无报错既大功告成! 最后再输入

$ make install

完成最后的安装。


写下这些内容不过半小时的时间,不过解决这些足足用了我一天一夜才完成,小众领域探索不易,欢迎一起探索GDS的朋友们多多指教。

你可能感兴趣的:(源代码安装FIO并启用GDS(cufile)引擎)