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