【微知】如何编译perftest支持运行cuda内存? unrecognized option ‘--use_cuda=4‘如何处理?(export CUDA_H_PATH=xxx/cuda.h、)

背景

普通的perftest只能使用主机内存进行rdma,如何让perftest支持使用cuda来跑gpu的rdma? 需要在编译阶段支持cuda的版本。本文简要记录编译perftest的过程
如果编译的perftest没有添加cuda的支持,会报错:ib_write_bw: unrecognized option '--use_cuda=4'

下载编译

  • 下载perftest (当前是25.01的版本)
    git clone https://github.com/linux-rdma/perftest

  • 生成configure
    autoreconf -i

  • 查看cuda.h目录,如果没有需要安装cuda驱动
    locate cuda.h
    ./configure --help
    export CUDA_H_PATH=/usr/local/cuda-12.4/targets/x86_64-linux/include/cuda.h
    如果没有cuda.h需要安装cuda,参考兄弟篇。

  • 安装依赖库
    sudo yum install -y libibverbs-devel
    yum install -y pciutils-devel

  • 配置
    ./configure

  • 编译
    make

  • 测试
    ./ib_write_bw --use_cuda=4&
    ./ib_write_bw 1.1.1.2 --use_cuda=4

实操

  • 下载
    在这里插入图片描述

  • 生成configure (首次生成不对 没有指定cuda.h环境变量)
    在这里插入图片描述

  • 查找cuda.h设置对应环境变量
    在这里插入图片描述

  • 指定cuda.h路径
    在这里插入图片描述

解决问题

configure: error: ibverbs header files not found

sudo yum install libibverbs-devel
在这里插入图片描述
在这里插入图片描述

configure: error: pciutils header files not found, consider installing pciutils-devel

yum install -y pciutils-devel
在这里插入图片描述
在这里插入图片描述

编译报错: ./config.h中找不到CUDA_PATH

在这里插入图片描述
查看目录有:

在这里插入图片描述


解决办法:临时手动修改config.h,也可以配置环境变量后再生成config.h
并且config.h中不能指定路径,需要指定cuda.h的全路径,因为这里是include
修改后:
在这里插入图片描述

  • 编译(可以看到这里有src/cuda_memory.o的文件被编译)
    在这里插入图片描述

  • 运行
    对比自己编译的和系统的,可见新生成的支持了–use_cuda=xxx
    在这里插入图片描述
    运行效果:
    在这里插入图片描述
    在这里插入图片描述
    可见已经初始化cuda,但是由于服务器上没有安装gpu会报错,不过不影响本文的逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值