Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile bug: Compiling on Maxwell architecture 52 cuda12.7 #10849

Open
envolution opened this issue Dec 16, 2024 · 0 comments
Open

Compile bug: Compiling on Maxwell architecture 52 cuda12.7 #10849

envolution opened this issue Dec 16, 2024 · 0 comments

Comments

@envolution
Copy link

Git commit

4ddd199

Operating systems

Linux

GGML backends

CUDA

Problem description & steps to reproduce

Trying to install from a fresh clone, it fails during 'configure' while compiling the cuda identification file. Keep in mind this card is rather old, but I believe architecture 52 is intended to be supported?

First Bad Commit

No response

Relevant log output

$ nvidia-smi 
Mon Dec 16 01:39:29 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 565.77                 Driver Version: 565.77         CUDA Version: 12.7     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 980         Off |   00000000:01:00.0 Off |                  N/A |
| 29%   30C    P8             13W /  180W |       4MiB /   4096MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
###########################################################################################

sh-5.2$ CUDAToolkit_ROOT=/opt/cuda CUDACXX=/opt/cuda/bin/nvcc cmake -B build -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=native
-- ccache found, compilation results will be cached. Disable with GGML_CCACHE=OFF.
-- CMAKE_SYSTEM_PROCESSOR: x86_64
-- Including CPU backend
-- Adding CPU backend variant ggml-cpu: -march=native 
-- CUDA Toolkit found
-- Using CUDA architectures: native
CMake Error at /usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:865 (message):
  Compiling the CUDA compiler identification source file
  "CMakeCUDACompilerId.cu" failed.

  Compiler: /opt/cuda/bin/nvcc

  Build flags:

  Id flags: --keep;--keep-dir;tmp -v



  The output was:

  2

  #$ _NVVM_BRANCH_=nvvm

  #$ _SPACE_=

  #$ _CUDART_=cudart

  #$ _HERE_=/opt/cuda/bin

  #$ _THERE_=/opt/cuda/bin

  #$ _TARGET_SIZE_=

  #$ _TARGET_DIR_=

  #$ _TARGET_DIR_=targets/x86_64-linux

  #$ TOP=/opt/cuda/bin/..

  #$ CICC_PATH=/opt/cuda/bin/../nvvm/bin

  #$ NVVMIR_LIBRARY_DIR=/opt/cuda/bin/../nvvm/libdevice

  #$ LD_LIBRARY_PATH=/opt/cuda/bin/../lib:

  #$ PATH=/opt/cuda/bin/../nvvm/bin:/opt/cuda/bin:/usr/local/bin:/usr/bin:

  #$ INCLUDES="-I/opt/cuda/bin/../targets/x86_64-linux/include"

  #$ LIBRARIES= "-L/opt/cuda/bin/../targets/x86_64-linux/lib/stubs"
  "-L/opt/cuda/bin/../targets/x86_64-linux/lib"

  #$ CUDAFE_FLAGS=

  #$ PTXAS_FLAGS=

  #$ rm tmp/a_dlink.reg.c

  #$ gcc -D__CUDA_ARCH_LIST__=520 -D__NV_LEGACY_LAUNCH -E -x c++ -D__CUDACC__
  -D__NVCC__ "-I/opt/cuda/bin/../targets/x86_64-linux/include"
  -D__CUDACC_VER_MAJOR__=12 -D__CUDACC_VER_MINOR__=6
  -D__CUDACC_VER_BUILD__=85 -D__CUDA_API_VER_MAJOR__=12
  -D__CUDA_API_VER_MINOR__=6 -D__NVCC_DIAG_PRAGMA_SUPPORT__=1 -include
  "cuda_runtime.h" -m64 "CMakeCUDACompilerId.cu" -o
  "tmp/CMakeCUDACompilerId.cpp4.ii"

  #$ cudafe++ --c++17 --gnu_version=140201 --display_error_number
  --orig_src_file_name "CMakeCUDACompilerId.cu" --orig_src_path_name
  "/tmp/llama.cpp/build/CMakeFiles/3.31.2/CompilerIdCUDA/CMakeCUDACompilerId.cu"
  --allow_managed --m64 --parse_templates --gen_c_file_name
  "tmp/CMakeCUDACompilerId.cudafe1.cpp" --stub_file_name
  "CMakeCUDACompilerId.cudafe1.stub.c" --gen_module_id_file
  --module_id_file_name "tmp/CMakeCUDACompilerId.module_id"
  "tmp/CMakeCUDACompilerId.cpp4.ii"

  /usr/include/c++/14.2.1/x86_64-pc-linux-gnu/bits/c++config.h(827): error:
  user-defined literal operator not found

      typedef __decltype(0.0bf16) __bfloat16_t;
                         ^

  

  /usr/include/c++/14.2.1/type_traits(529): error: type name is not allowed

        : public __bool_constant<__is_array(_Tp)>
                                            ^

  

  /usr/include/c++/14.2.1/type_traits(529): error: identifier "__is_array" is
  undefined

        : public __bool_constant<__is_array(_Tp)>
                                 ^

  

  /usr/include/c++/14.2.1/type_traits(581): error: type name is not allowed

        : public __bool_constant<__is_member_object_pointer(_Tp)>
                                                            ^

  

  /usr/include/c++/14.2.1/type_traits(581): error: identifier
  "__is_member_object_pointer" is undefined

        : public __bool_constant<__is_member_object_pointer(_Tp)>
                                 ^

  

  /usr/include/c++/14.2.1/type_traits(603): error: type name is not allowed

        : public __bool_constant<__is_member_function_pointer(_Tp)>
                                                              ^

  

  /usr/include/c++/14.2.1/type_traits(603): error: identifier
  "__is_member_function_pointer" is undefined

        : public __bool_constant<__is_member_function_pointer(_Tp)>
                                 ^

  

  /usr/include/c++/14.2.1/type_traits(695): error: type name is not allowed

        : public __bool_constant<__is_reference(_Tp)>
                                                ^

  

  /usr/include/c++/14.2.1/type_traits(695): error: identifier
  "__is_reference" is undefined

        : public __bool_constant<__is_reference(_Tp)>
                                 ^

  

  /usr/include/c++/14.2.1/type_traits(731): error: type name is not allowed

        : public __bool_constant<__is_object(_Tp)>
                                             ^

  

  /usr/include/c++/14.2.1/type_traits(731): error: identifier "__is_object"
  is undefined

        : public __bool_constant<__is_object(_Tp)>
                                 ^

  

  /usr/include/c++/14.2.1/type_traits(760): error: type name is not allowed

        : public __bool_constant<__is_member_pointer(_Tp)>
                                                     ^

  

  /usr/include/c++/14.2.1/type_traits(760): error: identifier
  "__is_member_pointer" is undefined

        : public __bool_constant<__is_member_pointer(_Tp)>
                                 ^

  

  /usr/include/c++/14.2.1/type_traits(3247): error: type name is not allowed

      inline constexpr bool is_array_v = __is_array(_Tp);
                                                    ^

  

  /usr/include/c++/14.2.1/type_traits(3271): error: type name is not allowed

        __is_member_object_pointer(_Tp);
                                   ^

  

  /usr/include/c++/14.2.1/type_traits(3281): error: type name is not allowed

        __is_member_function_pointer(_Tp);
                                     ^

  

  /usr/include/c++/14.2.1/type_traits(3298): error: type name is not allowed

      inline constexpr bool is_reference_v = __is_reference(_Tp);
                                                            ^

  

  /usr/include/c++/14.2.1/type_traits(3315): error: type name is not allowed

      inline constexpr bool is_object_v = __is_object(_Tp);
                                                      ^

  

  /usr/include/c++/14.2.1/type_traits(3328): error: type name is not allowed

      inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp);
                                                                      ^

  

  /usr/include/c++/14.2.1/bits/utility.h(237): error: __type_pack_element is
  not a template

        { using type = __type_pack_element<_Np, _Types...>; };
                       ^

  

  20 errors detected in the compilation of "CMakeCUDACompilerId.cu".

  # --error 0x2 --





Call Stack (most recent call first):
  /usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:8 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
  /usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:53 (__determine_compiler_id_test)
  /usr/share/cmake/Modules/CMakeDetermineCUDACompiler.cmake:131 (CMAKE_DETERMINE_COMPILER_ID)
  ggml/src/ggml-cuda/CMakeLists.txt:25 (enable_language)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant