Skip to content

Unable to compile cumm (fails with "error: ambiguous overload for ‘operator=’") #23

Description

@mawright

I'm on Ubuntu 22.04 in WSL and trying to install cumm in a conda environment. Building the wheels fails with the attached error log.

log.txt

The text of the error log is too long to paste into the issue window. Here's a snippet from the full log of what I believe is the main error and the stacktrace

Building wheels for collected packages: cumm-cu120
  Building wheel for cumm-cu120 (pyproject.toml): started
  Building wheel for cumm-cu120 (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error
  
  × Building wheel for cumm-cu120 (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [675 lines of output]
      running bdist_wheel
      running build
      running build_py
      copying cumm/__version__.py -> build/lib.linux-x86_64-cpython-311/cumm
      running egg_info
      writing cumm_cu120.egg-info/PKG-INFO
      writing dependency_links to cumm_cu120.egg-info/dependency_links.txt
      writing requirements to cumm_cu120.egg-info/requires.txt
      writing top-level names to cumm_cu120.egg-info/top_level.txt
      reading manifest file 'cumm_cu120.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'cumm_cu120.egg-info/SOURCES.txt'
      running build_ext
      [1/39] [GCC][c++]/home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/core_cc_pybind_main/core_cc_pybind_main.cc.o
      [2/39] [GCC][c++]/home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc.o
      FAILED: /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc.o
      g++ -MMD -MT /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc.o -MF /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc.o.d -I "/home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include" -I "/tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include" -I "/home/matt/miniconda3/envs/test/include/python3.11" -I "/usr/local/cuda/include" -I "/home/matt/Code/cumm/include" -O3 -std=c++14 -fPIC -DTV_CUDA -c /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc -o /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc.o
      In file included from /usr/include/c++/11/bits/forward_list.h:38,
                       from /usr/include/c++/11/forward_list:38,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/../detail/common.h:306,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/../attr.h:13,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/class.h:12,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/pybind11.h:13,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/stl.h:12,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/PyBindTensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:1:
      /usr/include/c++/11/bits/stl_algobase.h: In instantiation of ‘static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const long int*; _OI = __half*]’:
      /usr/include/c++/11/bits/stl_algobase.h:495:30:   required from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const long int*; _OI = __half*]’
      /usr/include/c++/11/bits/stl_algobase.h:522:42:   required from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const long int*; _OI = __half*]’
      /usr/include/c++/11/bits/stl_algobase.h:530:31:   required from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const long int*; _OI = __half*]’
      /usr/include/c++/11/bits/stl_algobase.h:620:7:   required from ‘_OI std::copy(_II, _II, _OI) [with _II = const long int*; _OI = __half*]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:1643:24:   required from ‘tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>::<lambda(auto:28)>::<lambda(auto:29)> [with auto:29 = tv::detail::_identity]’
      /home/matt/Code/cumm/include/tensorview/core/cc17.h:124:47:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
      /home/matt/Code/cumm/include/tensorview/core/mp_helper.h:106:26:   required from ‘constexpr F tv::detail::mp_for_each_impl(tv::mp_list<Ts ...>, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::dispatch_noexcept<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)> >(tv::DType, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>&&)::<lambda(auto:3)>]’
      /home/matt/Code/cumm/include/tensorview/core/mp_helper.h:497:34:   required from ‘constexpr F tv::mp_for_each(F&&) [with L = tv::mp_list<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16>; F = tv::dispatch_noexcept<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)> >(tv::DType, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>&&)::<lambda(auto:3)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:372:3:   required from ‘bool tv::dispatch_noexcept(tv::DType, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:384:32:   required from ‘void tv::dispatch(tv::DType, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:526:29:   required from ‘void tv::Dispatch<T<Args ...> >::operator()(tv::DType, F&&) [with F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>; T = std::tuple; Args = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:1614:43:   required from here
      /usr/include/c++/11/bits/stl_algobase.h:385:25: error: ambiguous overload for ‘operator=’ (operand types are ‘__half’ and ‘const long int’)
        385 |               *__result = *__first;
            |               ~~~~~~~~~~^~~~~~~~~~
      In file included from /usr/local/cuda/include/cuda_fp16.h:4748,
                       from /home/matt/Code/cumm/include/tensorview/dtypes.h:18,
                       from /home/matt/Code/cumm/include/tensorview/tensorview.h:28,
                       from /home/matt/Code/cumm/include/tensorview/cuda/driverops.h:16,
                       from /home/matt/Code/cumm/include/tensorview/contexts/core.h:20,
                       from /home/matt/Code/cumm/include/tensorview/context.h:2,
                       from /home/matt/Code/cumm/include/tensorview/tensor.h:94,
                       from /home/matt/Code/cumm/include/tensorview/pybind.h:16,
                       from /home/matt/Code/cumm/include/tensorview/pybind_utils.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:2:
      /usr/local/cuda/include/cuda_fp16.hpp:149:50: note: candidate: ‘__half& __half::operator=(float)’
        149 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const float f) { __x = __float2half(f).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:150:50: note: candidate: ‘__half& __half::operator=(double)’
        150 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const double f) { __x = __double2half(f).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:257:50: note: candidate: ‘__half& __half::operator=(short int)’
        257 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const short val) { __x = __short2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:258:50: note: candidate: ‘__half& __half::operator=(short unsigned int)’
        258 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const unsigned short val) { __x = __ushort2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:259:50: note: candidate: ‘__half& __half::operator=(int)’
        259 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const int val) { __x = __int2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:260:50: note: candidate: ‘__half& __half::operator=(unsigned int)’
        260 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const unsigned int val) { __x = __uint2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:261:50: note: candidate: ‘__half& __half::operator=(long long int)’
        261 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const long long val) { __x = __ll2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:262:50: note: candidate: ‘__half& __half::operator=(long long unsigned int)’
        262 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const unsigned long long val) { __x = __ull2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      In file included from /home/matt/Code/cumm/include/tensorview/dtypes.h:18,
                       from /home/matt/Code/cumm/include/tensorview/tensorview.h:28,
                       from /home/matt/Code/cumm/include/tensorview/cuda/driverops.h:16,
                       from /home/matt/Code/cumm/include/tensorview/contexts/core.h:20,
                       from /home/matt/Code/cumm/include/tensorview/context.h:2,
                       from /home/matt/Code/cumm/include/tensorview/tensor.h:94,
                       from /home/matt/Code/cumm/include/tensorview/pybind.h:16,
                       from /home/matt/Code/cumm/include/tensorview/pybind_utils.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:2:
      /usr/local/cuda/include/cuda_fp16.h:4210:26: note: candidate: ‘constexpr __half& __half::operator=(const __half&)’
       4210 | struct __CUDA_ALIGN__(2) __half {
            |                          ^~~~~~
      /usr/local/cuda/include/cuda_fp16.h:4210:26: note: candidate: ‘constexpr __half& __half::operator=(__half&&)’
      In file included from /usr/include/c++/11/bits/forward_list.h:38,
                       from /usr/include/c++/11/forward_list:38,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/../detail/common.h:306,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/../attr.h:13,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/class.h:12,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/pybind11.h:13,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/stl.h:12,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/PyBindTensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:1:
      /usr/include/c++/11/bits/stl_algobase.h: In instantiation of ‘static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const long unsigned int*; _OI = __half*]’:
      /usr/include/c++/11/bits/stl_algobase.h:495:30:   required from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const long unsigned int*; _OI = __half*]’
      /usr/include/c++/11/bits/stl_algobase.h:522:42:   required from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const long unsigned int*; _OI = __half*]’
      /usr/include/c++/11/bits/stl_algobase.h:530:31:   required from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const long unsigned int*; _OI = __half*]’
      /usr/include/c++/11/bits/stl_algobase.h:620:7:   required from ‘_OI std::copy(_II, _II, _OI) [with _II = const long unsigned int*; _OI = __half*]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:1643:24:   required from ‘tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>::<lambda(auto:28)>::<lambda(auto:29)> [with auto:29 = tv::detail::_identity]’
      /home/matt/Code/cumm/include/tensorview/core/cc17.h:124:47:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
      /home/matt/Code/cumm/include/tensorview/core/mp_helper.h:106:26:   required from ‘constexpr F tv::detail::mp_for_each_impl(tv::mp_list<Ts ...>, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::dispatch_noexcept<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)> >(tv::DType, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>&&)::<lambda(auto:3)>]’
      /home/matt/Code/cumm/include/tensorview/core/mp_helper.h:497:34:   required from ‘constexpr F tv::mp_for_each(F&&) [with L = tv::mp_list<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16>; F = tv::dispatch_noexcept<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)> >(tv::DType, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>&&)::<lambda(auto:3)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:372:3:   required from ‘bool tv::dispatch_noexcept(tv::DType, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:384:32:   required from ‘void tv::dispatch(tv::DType, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:526:29:   required from ‘void tv::Dispatch<T<Args ...> >::operator()(tv::DType, F&&) [with F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>; T = std::tuple; Args = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:1614:43:   required from here
      /usr/include/c++/11/bits/stl_algobase.h:385:25: error: ambiguous overload for ‘operator=’ (operand types are ‘__half’ and ‘const long unsigned int’)
        385 |               *__result = *__first;
            |               ~~~~~~~~~~^~~~~~~~~~
      In file included from /usr/local/cuda/include/cuda_fp16.h:4748,
                       from /home/matt/Code/cumm/include/tensorview/dtypes.h:18,
                       from /home/matt/Code/cumm/include/tensorview/tensorview.h:28,
                       from /home/matt/Code/cumm/include/tensorview/cuda/driverops.h:16,
                       from /home/matt/Code/cumm/include/tensorview/contexts/core.h:20,
                       from /home/matt/Code/cumm/include/tensorview/context.h:2,
                       from /home/matt/Code/cumm/include/tensorview/tensor.h:94,
                       from /home/matt/Code/cumm/include/tensorview/pybind.h:16,
                       from /home/matt/Code/cumm/include/tensorview/pybind_utils.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:2:
      /usr/local/cuda/include/cuda_fp16.hpp:149:50: note: candidate: ‘__half& __half::operator=(float)’
        149 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const float f) { __x = __float2half(f).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:150:50: note: candidate: ‘__half& __half::operator=(double)’
        150 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const double f) { __x = __double2half(f).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:257:50: note: candidate: ‘__half& __half::operator=(short int)’
        257 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const short val) { __x = __short2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:258:50: note: candidate: ‘__half& __half::operator=(short unsigned int)’
        258 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const unsigned short val) { __x = __ushort2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:259:50: note: candidate: ‘__half& __half::operator=(int)’
        259 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const int val) { __x = __int2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:260:50: note: candidate: ‘__half& __half::operator=(unsigned int)’
        260 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const unsigned int val) { __x = __uint2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:261:50: note: candidate: ‘__half& __half::operator=(long long int)’
        261 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const long long val) { __x = __ll2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      /usr/local/cuda/include/cuda_fp16.hpp:262:50: note: candidate: ‘__half& __half::operator=(long long unsigned int)’
        262 | __CUDA_HOSTDEVICE__ __CUDA_FP16_INLINE__ __half &__half::operator=(const unsigned long long val) { __x = __ull2half_rn(val).__x; return *this; }
            |                                                  ^~~~~~
      In file included from /home/matt/Code/cumm/include/tensorview/dtypes.h:18,
                       from /home/matt/Code/cumm/include/tensorview/tensorview.h:28,
                       from /home/matt/Code/cumm/include/tensorview/cuda/driverops.h:16,
                       from /home/matt/Code/cumm/include/tensorview/contexts/core.h:20,
                       from /home/matt/Code/cumm/include/tensorview/context.h:2,
                       from /home/matt/Code/cumm/include/tensorview/tensor.h:94,
                       from /home/matt/Code/cumm/include/tensorview/pybind.h:16,
                       from /home/matt/Code/cumm/include/tensorview/pybind_utils.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:2:
      /usr/local/cuda/include/cuda_fp16.h:4210:26: note: candidate: ‘constexpr __half& __half::operator=(const __half&)’
       4210 | struct __CUDA_ALIGN__(2) __half {
            |                          ^~~~~~
      /usr/local/cuda/include/cuda_fp16.h:4210:26: note: candidate: ‘constexpr __half& __half::operator=(__half&&)’
      In file included from /usr/include/c++/11/bits/forward_list.h:38,
                       from /usr/include/c++/11/forward_list:38,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/../detail/common.h:306,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/../attr.h:13,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/class.h:12,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/pybind11.h:13,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/stl.h:12,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/PyBindTensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:1:
      /usr/include/c++/11/bits/stl_algobase.h: In instantiation of ‘static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const long int*; _OI = __nv_bfloat16*]’:
      /usr/include/c++/11/bits/stl_algobase.h:495:30:   required from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const long int*; _OI = __nv_bfloat16*]’
      /usr/include/c++/11/bits/stl_algobase.h:522:42:   required from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const long int*; _OI = __nv_bfloat16*]’
      /usr/include/c++/11/bits/stl_algobase.h:530:31:   required from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const long int*; _OI = __nv_bfloat16*]’
      /usr/include/c++/11/bits/stl_algobase.h:620:7:   required from ‘_OI std::copy(_II, _II, _OI) [with _II = const long int*; _OI = __nv_bfloat16*]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:1643:24:   required from ‘tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>::<lambda(auto:28)>::<lambda(auto:29)> [with auto:29 = tv::detail::_identity]’
      /home/matt/Code/cumm/include/tensorview/core/cc17.h:124:47:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
      /home/matt/Code/cumm/include/tensorview/core/mp_helper.h:106:26:   required from ‘constexpr F tv::detail::mp_for_each_impl(tv::mp_list<Ts ...>, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::dispatch_noexcept<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)> >(tv::DType, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>&&)::<lambda(auto:3)>]’
      /home/matt/Code/cumm/include/tensorview/core/mp_helper.h:497:34:   required from ‘constexpr F tv::mp_for_each(F&&) [with L = tv::mp_list<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16>; F = tv::dispatch_noexcept<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)> >(tv::DType, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>&&)::<lambda(auto:3)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:372:3:   required from ‘bool tv::dispatch_noexcept(tv::DType, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:384:32:   required from ‘void tv::dispatch(tv::DType, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:526:29:   required from ‘void tv::Dispatch<T<Args ...> >::operator()(tv::DType, F&&) [with F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>; T = std::tuple; Args = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:1614:43:   required from here
      /usr/include/c++/11/bits/stl_algobase.h:385:25: error: ambiguous overload for ‘operator=’ (operand types are ‘__nv_bfloat16’ and ‘const long int’)
        385 |               *__result = *__first;
            |               ~~~~~~~~~~^~~~~~~~~~
      In file included from /usr/local/cuda/include/cuda_bf16.h:4756,
                       from /home/matt/Code/cumm/include/tensorview/dtypes.h:21,
                       from /home/matt/Code/cumm/include/tensorview/tensorview.h:28,
                       from /home/matt/Code/cumm/include/tensorview/cuda/driverops.h:16,
                       from /home/matt/Code/cumm/include/tensorview/contexts/core.h:20,
                       from /home/matt/Code/cumm/include/tensorview/context.h:2,
                       from /home/matt/Code/cumm/include/tensorview/tensor.h:94,
                       from /home/matt/Code/cumm/include/tensorview/pybind.h:16,
                       from /home/matt/Code/cumm/include/tensorview/pybind_utils.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:2:
      /usr/local/cuda/include/cuda_bf16.hpp:123:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(float)’
        123 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(const float f) { __x = __float2bfloat16(f).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:124:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(double)’
        124 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(const double f) { __x = __double2bfloat16(f).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:238:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(short int)’
        238 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(short val) { __x = __short2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:239:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(short unsigned int)’
        239 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(unsigned short val) { __x = __ushort2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:240:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(int)’
        240 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(int val) { __x = __int2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:241:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(unsigned int)’
        241 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(unsigned int val) { __x = __uint2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:242:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(long long int)’
        242 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(long long val) { __x = __ll2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:243:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(long long unsigned int)’
        243 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(unsigned long long val) { __x = __ull2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      In file included from /home/matt/Code/cumm/include/tensorview/dtypes.h:21,
                       from /home/matt/Code/cumm/include/tensorview/tensorview.h:28,
                       from /home/matt/Code/cumm/include/tensorview/cuda/driverops.h:16,
                       from /home/matt/Code/cumm/include/tensorview/contexts/core.h:20,
                       from /home/matt/Code/cumm/include/tensorview/context.h:2,
                       from /home/matt/Code/cumm/include/tensorview/tensor.h:94,
                       from /home/matt/Code/cumm/include/tensorview/pybind.h:16,
                       from /home/matt/Code/cumm/include/tensorview/pybind_utils.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:2:
      /usr/local/cuda/include/cuda_bf16.h:4215:26: note: candidate: ‘constexpr __nv_bfloat16& __nv_bfloat16::operator=(const __nv_bfloat16&)’
       4215 | struct __CUDA_ALIGN__(2) __nv_bfloat16 {
            |                          ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.h:4215:26: note: candidate: ‘constexpr __nv_bfloat16& __nv_bfloat16::operator=(__nv_bfloat16&&)’
      In file included from /usr/include/c++/11/bits/forward_list.h:38,
                       from /usr/include/c++/11/forward_list:38,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/../detail/common.h:306,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/../attr.h:13,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/detail/class.h:12,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/pybind11.h:13,
                       from /tmp/pip-build-env-sh7fzxa7/overlay/lib/python3.11/site-packages/pybind11/include/pybind11/stl.h:12,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/PyBindTensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:1:
      /usr/include/c++/11/bits/stl_algobase.h: In instantiation of ‘static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const long unsigned int*; _OI = __nv_bfloat16*]’:
      /usr/include/c++/11/bits/stl_algobase.h:495:30:   required from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const long unsigned int*; _OI = __nv_bfloat16*]’
      /usr/include/c++/11/bits/stl_algobase.h:522:42:   required from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const long unsigned int*; _OI = __nv_bfloat16*]’
      /usr/include/c++/11/bits/stl_algobase.h:530:31:   required from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const long unsigned int*; _OI = __nv_bfloat16*]’
      /usr/include/c++/11/bits/stl_algobase.h:620:7:   required from ‘_OI std::copy(_II, _II, _OI) [with _II = const long unsigned int*; _OI = __nv_bfloat16*]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:1643:24:   required from ‘tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>::<lambda(auto:28)>::<lambda(auto:29)> [with auto:29 = tv::detail::_identity]’
      /home/matt/Code/cumm/include/tensorview/core/cc17.h:124:47:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
      /home/matt/Code/cumm/include/tensorview/core/mp_helper.h:106:26:   required from ‘constexpr F tv::detail::mp_for_each_impl(tv::mp_list<Ts ...>, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::dispatch_noexcept<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)> >(tv::DType, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>&&)::<lambda(auto:3)>]’
      /home/matt/Code/cumm/include/tensorview/core/mp_helper.h:497:34:   required from ‘constexpr F tv::mp_for_each(F&&) [with L = tv::mp_list<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16>; F = tv::dispatch_noexcept<float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)> >(tv::DType, tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>&&)::<lambda(auto:3)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:372:3:   required from ‘bool tv::dispatch_noexcept(tv::DType, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:384:32:   required from ‘void tv::dispatch(tv::DType, F&&) [with Ts = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}; F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:526:29:   required from ‘void tv::Dispatch<T<Args ...> >::operator()(tv::DType, F&&) [with F = tv::Tensor::astype(tv::DType, bool) const::<lambda(auto:27)>; T = std::tuple; Args = {float, double, signed char, short int, int, long int, unsigned char, short unsigned int, unsigned int, long unsigned int, bool, __half, __nv_bfloat16}]’
      /home/matt/Code/cumm/include/tensorview/tensor.h:1614:43:   required from here
      /usr/include/c++/11/bits/stl_algobase.h:385:25: error: ambiguous overload for ‘operator=’ (operand types are ‘__nv_bfloat16’ and ‘const long unsigned int’)
        385 |               *__result = *__first;
            |               ~~~~~~~~~~^~~~~~~~~~
      In file included from /usr/local/cuda/include/cuda_bf16.h:4756,
                       from /home/matt/Code/cumm/include/tensorview/dtypes.h:21,
                       from /home/matt/Code/cumm/include/tensorview/tensorview.h:28,
                       from /home/matt/Code/cumm/include/tensorview/cuda/driverops.h:16,
                       from /home/matt/Code/cumm/include/tensorview/contexts/core.h:20,
                       from /home/matt/Code/cumm/include/tensorview/context.h:2,
                       from /home/matt/Code/cumm/include/tensorview/tensor.h:94,
                       from /home/matt/Code/cumm/include/tensorview/pybind.h:16,
                       from /home/matt/Code/cumm/include/tensorview/pybind_utils.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:2:
      /usr/local/cuda/include/cuda_bf16.hpp:123:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(float)’
        123 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(const float f) { __x = __float2bfloat16(f).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:124:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(double)’
        124 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(const double f) { __x = __double2bfloat16(f).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:238:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(short int)’
        238 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(short val) { __x = __short2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:239:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(short unsigned int)’
        239 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(unsigned short val) { __x = __ushort2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:240:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(int)’
        240 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(int val) { __x = __int2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:241:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(unsigned int)’
        241 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(unsigned int val) { __x = __uint2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:242:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(long long int)’
        242 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(long long val) { __x = __ll2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.hpp:243:61: note: candidate: ‘__nv_bfloat16& __nv_bfloat16::operator=(long long unsigned int)’
        243 |     __CUDA_HOSTDEVICE__ __CUDA_BF16_INLINE__ __nv_bfloat16 &__nv_bfloat16::operator=(unsigned long long val) { __x = __ull2bfloat16_rn(val).__x; return *this; }
            |                                                             ^~~~~~~~~~~~~
      In file included from /home/matt/Code/cumm/include/tensorview/dtypes.h:21,
                       from /home/matt/Code/cumm/include/tensorview/tensorview.h:28,
                       from /home/matt/Code/cumm/include/tensorview/cuda/driverops.h:16,
                       from /home/matt/Code/cumm/include/tensorview/contexts/core.h:20,
                       from /home/matt/Code/cumm/include/tensorview/context.h:2,
                       from /home/matt/Code/cumm/include/tensorview/tensor.h:94,
                       from /home/matt/Code/cumm/include/tensorview/pybind.h:16,
                       from /home/matt/Code/cumm/include/tensorview/pybind_utils.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/include/tensorview_bind/TensorViewBind.h:2,
                       from /home/matt/Code/cumm/build/temp.linux-x86_64-cpython-311/cumm/build/core_cc/src/tensorview_bind/PyBindTensorViewBind/PyBindTensorViewBind_bind_TensorViewBind.cc:2:
      /usr/local/cuda/include/cuda_bf16.h:4215:26: note: candidate: ‘constexpr __nv_bfloat16& __nv_bfloat16::operator=(const __nv_bfloat16&)’
       4215 | struct __CUDA_ALIGN__(2) __nv_bfloat16 {
            |                          ^~~~~~~~~~~~~
      /usr/local/cuda/include/cuda_bf16.h:4215:26: note: candidate: ‘constexpr __nv_bfloat16& __nv_bfloat16::operator=(__nv_bfloat16&&)’

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions