移植 amd blas 到 cuda 生态

本文介绍了如何在GitHub上的ROCm/rocBLAS项目中进行不依赖Tensile的编译,包括在conda环境中切换、设置编译选项和将hip代码适配CUDA。还提到移植规范,如元语替换、编译器选择和GPU架构调整。
摘要由CSDN通过智能技术生成

1,下载源码


GitHub - ROCm/rocBLAS: Next generation BLAS implementation for ROCm platform

$ git clone --recursive https://github.com/ROCm/rocBLAS.git

2, 编译

    2.1 不带Tensile的编译

如果是在conda环境中,需要deactive conda 环境;

conda deactivate

cd rocBLAS \
&& mkdir build_d_notensile \
&& cd build_d_notensile \
&& export CXX=/opt/rocm/bin/hipcc \
&& cmake -DCMAKE_INSTALL_PREFIX=../../../local_d_no_tensile/rocblas/ \
-DBUILD_CLIENTS_SAMPLES=ON  \
-DBUILD_CLIENTS_TESTS=ON  \
-DBUILD_CLIENTS_BENCHMARKS=ON  \
-DBUILD_WITH_TENSILE=OFF \
-DCMAKE_BUILD_TYPE=Debug ../../

make -j

    2.2 测试

3, 移植规范

在踢掉 Tensile 后,rocBLAS 只剩下与 hip 生态相关的代码;

将 hip 的元语替换成 cuda 的元语,例如 hipMalloc -> cudaMalloc

将 hipcc 换成 nvcc,

将 hip/hip_runtime.h 换成 cuda_runtime.h,

将 gpu arch 的 gfx906 换成 2080 的 Turing

将 warpSize 从64 换成 32

未完待续... ...

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值