Skip to content

[clang-tidy] error: no matching function for call on CUDA include #60192

@driazati

Description

@driazati

New build is failing on a CUDA file where it wasn't before

https://github.com/pytorch/pytorch/pull/60018/checks?check_run_id=2851913519

related: #59967

Logs
+ wget -O pr.diff patch-diff.githubusercontent.com/raw/pytorch/pytorch/pull/60018.diff
--2021-06-17 18:33:08--  patch-diff.githubusercontent.com/raw/pytorch/pytorch/pull/60018.diff
Resolving patch-diff.githubusercontent.com (patch-diff.githubusercontent.com)... 140.82.112.3
Connecting to patch-diff.githubusercontent.com (patch-diff.githubusercontent.com)|140.82.112.3|:443... connected.
HTTP request sent, awaiting response... 200 OK
Cookie coming from patch-diff.githubusercontent.com attempted to set domain to github.com
Length: unspecified [text/plain]
Saving to: 'pr.diff'

     0K .......... .......... .........                        5.13M=0.006s

2021-06-17 18:33:08 (5.13 MB/s) - 'pr.diff' saved [30423]

+ python3 tools/clang_tidy.py --verbose --paths torch/csrc/ --diff-file pr.diff -g-torch/csrc/jit/passes/onnx/helper.cpp -g-torch/csrc/jit/passes/onnx/shape_type_inference.cpp -g-torch/csrc/jit/serialization/onnx.cpp -g-torch/csrc/jit/serialization/export.cpp -g-torch/csrc/jit/serialization/import.cpp -g-torch/csrc/jit/serialization/import_legacy.cpp -g-torch/csrc/onnx/init.cpp -g-torch/csrc/cuda/nccl.* -g-torch/csrc/cuda/python_nccl.cpp -g-torch/csrc/autograd/FunctionsManual.cpp -g-torch/csrc/generic/*.cpp -g-torch/csrc/jit/codegen/cuda/runtime/* -g-torch/csrc/deploy/interpreter/interpreter.cpp -g-torch/csrc/deploy/interpreter/interpreter.h -g-torch/csrc/deploy/interpreter/interpreter_impl.h -g-torch/csrc/deploy/interpreter/test_main.cpp
5605 warnings generated.
9259 warnings and 22 errors generated when compiling for host.
Error while processing /__w/pytorch/pytorch/aten/src/ATen/native/cuda/SegmentReduce.cu.
Suppressed 9266 warnings (9245 in non-user code, 14 due to line filter, 7 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
Found compiler error(s).
Traceback (most recent call last):
  File "tools/clang_tidy.py", line 81, in run_shell_command
    output = subprocess.check_output(arguments).decode().strip()
  File "/usr/lib/python3.6/subprocess.py", line 356, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['clang-tidy', '-p', 'build', '-config', '{"InheritParentConfig": true, "Checks": " bugprone-*, -bugprone-forward-declaration-namespace, -bugprone-macro-parentheses, -bugprone-lambda-function-name, -bugprone-reserved-identifier, cppcoreguidelines-*, -cppcoreguidelines-avoid-magic-numbers, -cppcoreguidelines-interfaces-global-init, -cppcoreguidelines-macro-usage, -cppcoreguidelines-owning-memory, -cppcoreguidelines-pro-bounds-array-to-pointer-decay, -cppcoreguidelines-pro-bounds-constant-array-index, -cppcoreguidelines-pro-bounds-pointer-arithmetic, -cppcoreguidelines-pro-type-cstyle-cast, -cppcoreguidelines-pro-type-reinterpret-cast, -cppcoreguidelines-pro-type-static-cast-downcast, -cppcoreguidelines-pro-type-union-access, -cppcoreguidelines-pro-type-vararg, -cppcoreguidelines-special-member-functions, -facebook-hte-RelativeInclude, hicpp-exception-baseclass, hicpp-avoid-goto, modernize-*, -modernize-concat-nested-namespaces, -modernize-return-braced-init-list, -modernize-use-auto, -modernize-use-default-member-init, -modernize-use-using, -modernize-use-trailing-return-type, performance-*, -performance-noexcept-move-constructor, -performance-unnecessary-value-param, ", "HeaderFilterRegex": "torch/csrc/.*", "AnalyzeTemporaryDtors": false, "CheckOptions": null}', '-line-filter', '[{"name": "aten/src/ATen/native/SegmentReduce.cpp", "lines": [["29", "29"]]}, {"name": "aten/src/ATen/native/SegmentReduce.h", "lines": [["22", "22"]]}, {"name": "aten/src/ATen/native/cuda/SegmentReduce.cu", "lines": [["10", "10"]]}, {"name": "aten/src/ATen/native/native_functions.yaml", "lines": [["10125", "10125"]]}, {"name": "test/test_segment_reductions.py", "lines": [["1", "1"]]}]', 'aten/src/ATen/native/SegmentReduce.cpp', 'aten/src/ATen/native/cuda/SegmentReduce.cu']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "tools/clang_tidy.py", line 364, in <module>
    main()
  File "tools/clang_tidy.py", line 348, in main
    clang_tidy_output = run_clang_tidy(options, line_filters, files)
  File "tools/clang_tidy.py", line 202, in run_clang_tidy
    output = run_shell_command(command)
  File "tools/clang_tidy.py", line 84, in run_shell_command
    raise RuntimeError(f"Error executing {' '.join(arguments)}: {error_output}")
RuntimeError: Error executing clang-tidy -p build -config {"InheritParentConfig": true, "Checks": " bugprone-*, -bugprone-forward-declaration-namespace, -bugprone-macro-parentheses, -bugprone-lambda-function-name, -bugprone-reserved-identifier, cppcoreguidelines-*, -cppcoreguidelines-avoid-magic-numbers, -cppcoreguidelines-interfaces-global-init, -cppcoreguidelines-macro-usage, -cppcoreguidelines-owning-memory, -cppcoreguidelines-pro-bounds-array-to-pointer-decay, -cppcoreguidelines-pro-bounds-constant-array-index, -cppcoreguidelines-pro-bounds-pointer-arithmetic, -cppcoreguidelines-pro-type-cstyle-cast, -cppcoreguidelines-pro-type-reinterpret-cast, -cppcoreguidelines-pro-type-static-cast-downcast, -cppcoreguidelines-pro-type-union-access, -cppcoreguidelines-pro-type-vararg, -cppcoreguidelines-special-member-functions, -facebook-hte-RelativeInclude, hicpp-exception-baseclass, hicpp-avoid-goto, modernize-*, -modernize-concat-nested-namespaces, -modernize-return-braced-init-list, -modernize-use-auto, -modernize-use-default-member-init, -modernize-use-using, -modernize-use-trailing-return-type, performance-*, -performance-noexcept-move-constructor, -performance-unnecessary-value-param, ", "HeaderFilterRegex": "torch/csrc/.*", "AnalyzeTemporaryDtors": false, "CheckOptions": null} -line-filter [{"name": "aten/src/ATen/native/SegmentReduce.cpp", "lines": [["29", "29"]]}, {"name": "aten/src/ATen/native/SegmentReduce.h", "lines": [["22", "22"]]}, {"name": "aten/src/ATen/native/cuda/SegmentReduce.cu", "lines": [["10", "10"]]}, {"name": "aten/src/ATen/native/native_functions.yaml", "lines": [["10125", "10125"]]}, {"name": "test/test_segment_reductions.py", "lines": [["1", "1"]]}] aten/src/ATen/native/SegmentReduce.cpp aten/src/ATen/native/cuda/SegmentReduce.cu: error: GPU arch sm_20 is supported by CUDA versions between 7.0 and 8.0 (inclusive), but installation at /usr/local/cuda-10.2 is 10.2. Use --cuda-path to specify a different CUDA install, pass a different GPU arch with --cuda-gpu-arch, or pass --no-cuda-version-check. [clang-diagnostic-error]
error: cannot find libdevice for sm_20. Provide path to different CUDA installation via --cuda-path, or pass -nocudalib to build without linking with libdevice. [clang-diagnostic-error]
error: too many errors emitted, stopping now [clang-diagnostic-error]
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:74:7: error: no matching function for call to '__nv_isnand' [clang-diagnostic-error]
  if (_ISNANd(__real__(z)) && _ISNANd(__imag__(z))) {
      ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:45:17: note: expanded from macro '_ISNANd'
#define _ISNANd __nv_isnand
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:226:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isnand(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:74:31: error: no matching function for call to '__nv_isnand' [clang-diagnostic-error]
  if (_ISNANd(__real__(z)) && _ISNANd(__imag__(z))) {
                              ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:45:17: note: expanded from macro '_ISNANd'
#define _ISNANd __nv_isnand
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:226:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isnand(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:76:9: error: no matching function for call to '__nv_isinfd' [clang-diagnostic-error]
    if (_ISINFd(__a) || _ISINFd(__b)) {
        ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:47:17: note: expanded from macro '_ISINFd'
#define _ISINFd __nv_isinfd
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:224:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isinfd(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:76:25: error: no matching function for call to '__nv_isinfd' [clang-diagnostic-error]
    if (_ISINFd(__a) || _ISINFd(__b)) {
                        ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:47:17: note: expanded from macro '_ISINFd'
#define _ISINFd __nv_isinfd
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:224:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isinfd(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:77:24: error: no matching function for call to '__nv_isinfd' [clang-diagnostic-error]
      __a = _COPYSIGNd(_ISINFd(__a) ? 1 : 0, __a);
                       ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:47:17: note: expanded from macro '_ISINFd'
#define _ISINFd __nv_isinfd
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:224:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isinfd(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:78:24: error: no matching function for call to '__nv_isinfd' [clang-diagnostic-error]
      __b = _COPYSIGNd(_ISINFd(__b) ? 1 : 0, __b);
                       ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:47:17: note: expanded from macro '_ISINFd'
#define _ISINFd __nv_isinfd
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:224:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isinfd(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:79:11: error: no matching function for call to '__nv_isnand' [clang-diagnostic-error]
      if (_ISNANd(__c))
          ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:45:17: note: expanded from macro '_ISNANd'
#define _ISNANd __nv_isnand
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:226:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isnand(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:80:15: error: no matching function for call to '__nv_copysign' [clang-diagnostic-error]
        __c = _COPYSIGNd(0, __c);
              ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:51:20: note: expanded from macro '_COPYSIGNd'
#define _COPYSIGNd __nv_copysign
                   ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:47:19: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ double __nv_copysign(double __a, double __b);
                  ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:81:11: error: no matching function for call to '__nv_isnand' [clang-diagnostic-error]
      if (_ISNANd(__d))
          ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:45:17: note: expanded from macro '_ISNANd'
#define _ISNANd __nv_isnand
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:226:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isnand(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:82:15: error: no matching function for call to '__nv_copysign' [clang-diagnostic-error]
        __d = _COPYSIGNd(0, __d);
              ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:51:20: note: expanded from macro '_COPYSIGNd'
#define _COPYSIGNd __nv_copysign
                   ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:47:19: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ double __nv_copysign(double __a, double __b);
                  ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:85:9: error: no matching function for call to '__nv_isinfd' [clang-diagnostic-error]
    if (_ISINFd(__c) || _ISINFd(__d)) {
        ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:47:17: note: expanded from macro '_ISINFd'
#define _ISINFd __nv_isinfd
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:224:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isinfd(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:85:25: error: no matching function for call to '__nv_isinfd' [clang-diagnostic-error]
    if (_ISINFd(__c) || _ISINFd(__d)) {
                        ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:47:17: note: expanded from macro '_ISINFd'
#define _ISINFd __nv_isinfd
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:224:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isinfd(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:86:24: error: no matching function for call to '__nv_isinfd' [clang-diagnostic-error]
      __c = _COPYSIGNd(_ISINFd(__c) ? 1 : 0, __c);
                       ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:47:17: note: expanded from macro '_ISINFd'
#define _ISINFd __nv_isinfd
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:224:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isinfd(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:87:24: error: no matching function for call to '__nv_isinfd' [clang-diagnostic-error]
      __d = _COPYSIGNd(_ISINFd(__d) ? 1 : 0, __d);
                       ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:47:17: note: expanded from macro '_ISINFd'
#define _ISINFd __nv_isinfd
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:224:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isinfd(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:88:11: error: no matching function for call to '__nv_isnand' [clang-diagnostic-error]
      if (_ISNANd(__a))
          ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:45:17: note: expanded from macro '_ISNANd'
#define _ISNANd __nv_isnand
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:226:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isnand(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:89:15: error: no matching function for call to '__nv_copysign' [clang-diagnostic-error]
        __a = _COPYSIGNd(0, __a);
              ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:51:20: note: expanded from macro '_COPYSIGNd'
#define _COPYSIGNd __nv_copysign
                   ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:47:19: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ double __nv_copysign(double __a, double __b);
                  ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:90:11: error: no matching function for call to '__nv_isnand' [clang-diagnostic-error]
      if (_ISNANd(__b))
          ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:45:17: note: expanded from macro '_ISNANd'
#define _ISNANd __nv_isnand
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:226:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isnand(double __a);
               ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:91:15: error: no matching function for call to '__nv_copysign' [clang-diagnostic-error]
        __b = _COPYSIGNd(0, __b);
              ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:51:20: note: expanded from macro '_COPYSIGNd'
#define _COPYSIGNd __nv_copysign
                   ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:47:19: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ double __nv_copysign(double __a, double __b);
                  ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:95:10: error: no matching function for call to '__nv_isinfd' [clang-diagnostic-error]
        (_ISINFd(__ac) || _ISINFd(__bd) || _ISINFd(__ad) || _ISINFd(__bc))) {
         ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_complex_builtins.h:47:17: note: expanded from macro '_ISINFd'
#define _ISINFd __nv_isinfd
                ^
/clang-tidy-checks/build/lib/clang/11.0.0/include/__clang_cuda_libdevice_declares.h:224:16: note: candidate function not viable: call to __device__ function from __host__ function
__DEVICE__ int __nv_isinfd(double __a);

cc @pytorch/pytorch-dev-infra

Metadata

Metadata

Labels

triagedThis issue has been looked at a team member, and triaged and prioritized into an appropriate module

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions