首页 > 其他分享 >cutlass

cutlass

时间:2023-01-29 23:56:59浏览次数:47  
标签:cutlass cmake CUDA 版本 GPU 80

cutlass编译使用过程

cutlass使用cuda编写的矩阵乘法加速模板.github地址:click here

笔者第一次clone到本地的版本是当前最新的v3.0,但发现此版本对环境要求过高.如下:

  • NVIDIA CUDA Toolkit (11.4 or later required, 12.0 recommended)
  • CMake 3.18+
  • host compiler supporting C++17 or greater (minimum g++ 7.5.0)
  • Python 3.6+

cmake版本,在服务器反复尝试更新无果,最后发现可以使用anaconda来更新.由于清华源版本过低,使用

conda search cmake

获得channel中的可用cmake版本,随后(大概是)

conda install cmake=3.19.2

完成cmake的配置.然而CUDA版本却是个难题.实验室服务器使用的版本都是10.2,难以更改.思来想去,觉得这玩意不可能一上来就只能支持11.4+的版本,于是打开版本列表,果不其然就在2.11版本中,要求还是CUDA>=9.2.遂安装此版本.

依照Quickstart中的指示,应该执行

$ export CUDACXX=${CUDA_INSTALL_PATH}/bin/nvcc

$ mkdir build && cd build

$ cmake .. -DCUTLASS_NVCC_ARCHS=80               # compiles for NVIDIA Ampere GPU architecture

然而第三行出现了问题.提示无法找到nvcc.用

printenv CUDA_INSTALL_PATH

发现,此环境变量为空.(吐槽一句为什么啥都是空啊)

依照指引,寻得本地cuda目录应为/usr/local/cuda-10.2/bin/nvcc.替换掉上述指令后,提示compute_80为不支持的计算架构.

nvcc fatal: Unsupported gpu architecture 'compute_80'

求助搜索引擎得知这代表8.0及以上的计算能力,由于服务器显卡型号为GTX 1080,算力为6.1,故无法编译通过.(算力表,另,此处的conpute capability不是实际的计算能力大小,而是指GPU架构,决定了能执行的任务种类.)

实际上-DCUTLASS_NVCC_ARCHS=80就是设定了这一参数.在文档的中部,也给出了不同架构GPU的编译方法.选择

$ cmake .. -DCUTLASS_NVCC_ARCHS="60;61"          # compiles for NVIDIA Pascal GPU architecture

此后编译一切正常,cutlass安装成功.

标签:cutlass,cmake,CUDA,版本,GPU,80
From: https://www.cnblogs.com/linxiaoshu/p/17074128.html

相关文章

  • cutlass from GTC 2018
    link:https://on-demand.gputechconf.com/gtc/2018/presentation/s8854-cutlass-software-primitives-for-dense-linear-algebra-at-all-levels-and-scales-within-cuda.p......