NVIDIA / MatX

An efficient C++17 GPU numerical computing library with Python-like syntax

Home Page:https://nvidia.github.io/MatX

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] MatX 0.4.0 fails to build with -DCMAKE_CUDA_ARCHITECTURES="60"

dagardner-nv opened this issue · comments

Describe the bug
MatX 0.4.0 is failing to build if CMAKE_CUDA_ARCHITECTURES="60", works for others.

To Reproduce

git clone git@github.com:NVIDIA/MatX.git
cd MatX/
mamba create -n matx_arch60 Python=3.10 numpy
conda activate matx_arch60
mkdir build && cd build
cmake -DMATX_BUILD_BENCHMARKS=OFF -DMATX_BUILD_DOCS=OFF -DMATX_BUILD_EXAMPLES=ON -DMATX_BUILD_TESTS=ON  -DCMAKE_CUDA_ARCHITECTURES="60" ..
make -j

fails with:

2 errors detected in the compilation of "/home/dagardner/work/tmp/MatX/test/00_operators/ReductionTests.cu".
make[2]: *** [test/CMakeFiles/matx_test.dir/build.make:212: test/CMakeFiles/matx_test.dir/00_operators/ReductionTests.cu.o] Error 255
/home/dagardner/work/tmp/MatX/include/matx/transforms/reduce.h(172): error: no instance of overloaded function "atomicCAS" matches the argument list
            argument types are: (unsigned short *, unsigned short, short)

/home/dagardner/work/tmp/MatX/include/matx/transforms/reduce.h(201): error: no instance of overloaded function "atomicCAS" matches the argument list
            argument types are: (unsigned short *, unsigned short, short)

Expected behavior
Build

System details (please complete the following information):

  • OS: Debian 11.7
  • CUDA version: 11.8
  • g++ version: 10.2.1-6

Someone on my team noticed this:
https://stackoverflow.com/questions/74201452/cuda-11-8-fails-to-compile-atomiccas-for-16-bit-unsigned-integers-is-cudas-doc

If arch60 is no longer supported, then the README.md should be updated as it currently lists:

cmake .. -DCMAKE_CUDA_ARCHITECTURES="60;70"

Fixed in e974c12