Skip to content

simple knn g++ error for cuda 12.8 -- sm_120 gpu #1296

@Jaykumaran

Description

@Jaykumaran

Fix:

in simple_knn.cu add


#define BOX_SIZE 1024
#include <cfloat> // <--- Add this line here

#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include "simple_knn.h"
#include <cub/cub.cuh>
#include <cub/device/device_radix_sort.cuh>
#include <vector>
#include <cuda_runtime_api.h>
#include <thrust/device_vector.h>
#include <thrust/sequence.h>
#define __CUDACC__
#include <cooperative_groups.h>
#include <cooperative_groups/reduce.h

Error:



[1/3] /usr/local/cuda-12.8/bin/nvcc --generate-dependencies-with-compile --dependency-output /home//Documents//MILo/submodules/simple-knn/build/temp.linux-x86_64-cpython-310/simple_knn.o.d -I/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/include -I/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda-12.8/include -I/home//miniconda3/envs/torch_2x/include/python3.10 -c -c /home//Documents//MILo/submodules/simple-knn/simple_knn.cu -o /home//Documents//MILo/submodules/simple-knn/build/temp.linux-x86_64-cpython-310/simple_knn.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -gencode=arch=compute_120,code=compute_120 -gencode=arch=compute_120,code=sm_120 -std=c++17
FAILED: /home//Documents//MILo/submodules/simple-knn/build/temp.linux-x86_64-cpython-310/simple_knn.o 
/usr/local/cuda-12.8/bin/nvcc --generate-dependencies-with-compile --dependency-output /home//Documents//MILo/submodules/simple-knn/build/temp.linux-x86_64-cpython-310/simple_knn.o.d -I/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/include -I/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda-12.8/include -I/home//miniconda3/envs/torch_2x/include/python3.10 -c -c /home//Documents//MILo/submodules/simple-knn/simple_knn.cu -o /home//Documents//MILo/submodules/simple-knn/build/temp.linux-x86_64-cpython-310/simple_knn.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -gencode=arch=compute_120,code=compute_120 -gencode=arch=compute_120,code=sm_120 -std=c++17
/home//Documents//MILo/submodules/simple-knn/simple_knn.cu:23: warning: "__CUDACC__" redefined
   23 | #define __CUDACC__
      | 
<command-line>: note: this is the location of the previous definition
/home//Documents//MILo/submodules/simple-knn/simple_knn.cu:23: warning: "__CUDACC__" redefined
   23 | #define __CUDACC__
      | 
<command-line>: note: this is the location of the previous definition
/home//Documents//MILo/submodules/simple-knn/simple_knn.cu(90): error: identifier "FLT_MAX" is undefined
    me.minn = { FLT_MAX, FLT_MAX, FLT_MAX };
                ^

/home//Documents//MILo/submodules/simple-knn/simple_knn.cu(154): error: identifier "FLT_MAX" is undefined
   float best[3] = { FLT_MAX, FLT_MAX, FLT_MAX };
                     ^

2 errors detected in the compilation of "/home//Documents//MILo/submodules/simple-knn/simple_knn.cu".
[2/3] c++ -MMD -MF /home//Documents//MILo/submodules/simple-knn/build/temp.linux-x86_64-cpython-310/ext.o.d -pthread -B /home//miniconda3/envs/torch_2x/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -O2 -isystem /home//miniconda3/envs/torch_2x/include -fPIC -O2 -isystem /home//miniconda3/envs/torch_2x/include -fPIC -I/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/include -I/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda-12.8/include -I/home//miniconda3/envs/torch_2x/include/python3.10 -c -c /home//Documents//MILo/submodules/simple-knn/ext.cpp -o /home//Documents//MILo/submodules/simple-knn/build/temp.linux-x86_64-cpython-310/ext.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -std=c++17
[3/3] /usr/local/cuda-12.8/bin/nvcc --generate-dependencies-with-compile --dependency-output /home//Documents//MILo/submodules/simple-knn/build/temp.linux-x86_64-cpython-310/spatial.o.d -I/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/include -I/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda-12.8/include -I/home//miniconda3/envs/torch_2x/include/python3.10 -c -c /home//Documents//MILo/submodules/simple-knn/spatial.cu -o /home//Documents//MILo/submodules/simple-knn/build/temp.linux-x86_64-cpython-310/spatial.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -gencode=arch=compute_120,code=compute_120 -gencode=arch=compute_120,code=sm_120 -std=c++17
/home//Documents//MILo/submodules/simple-knn/spatial.cu: In function ‘at::Tensor distCUDA2(const at::Tensor&)’:
/home//Documents//MILo/submodules/simple-knn/spatial.cu:23:64: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
   23 |   SimpleKNN::knn(P, (float3*)points.contiguous().data<float>(), means.contiguous().data<float>());
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/home//Documents//MILo/submodules/simple-knn/spatial.cu:23:102: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
   23 |   SimpleKNN::knn(P, (float3*)points.contiguous().data<float>(), means.contiguous().data<float>());
      |                                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   ^ 
/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2597, in _run_ninja_build
    subprocess.run(
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home//Documents//MILo/submodules/simple-knn/setup.py", line 21, in <module>
    setup(
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/__init__.py", line 115, in setup
    return distutils.core.setup(**attrs)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 186, in setup
    return run_commands(dist)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
    dist.run_commands()
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1002, in run_commands
    self.run_command(cmd)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/dist.py", line 1102, in run_command
    super().run_command(command)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
    cmd_obj.run()
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/command/install.py", line 689, in run
    self.run_command('build')
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
    self.distribution.run_command(command)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/dist.py", line 1102, in run_command
    super().run_command(command)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
    cmd_obj.run()
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
    self.distribution.run_command(command)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/dist.py", line 1102, in run_command
    super().run_command(command)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
    cmd_obj.run()
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 96, in run
    _build_ext.run(self)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 368, in run
    self.build_extensions()
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1082, in build_extensions
    build_ext.build_extensions(self)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 484, in build_extensions
    self._build_extensions_serial()
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 510, in _build_extensions_serial
    self.build_extension(ext)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 261, in build_extension
    _build_ext.build_extension(self, ext)
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 565, in build_extension
    objects = self.compiler.compile(
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 866, in unix_wrap_ninja_compile
    _write_ninja_file_and_compile_objects(
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2223, in _write_ninja_file_and_compile_objects
    _run_ninja_build(
  File "/home//miniconda3/envs/torch_2x/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2614, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions