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

HIPCC-5.7.0 misparsing types causing operator signed "ambiguous" #84

Closed
yizeyi18 opened this issue Dec 7, 2023 · 2 comments
Closed
Assignees
Labels

Comments

@yizeyi18
Copy link

yizeyi18 commented Dec 7, 2023

While compiling dla-future(https://github.com/eth-cscs/DLA-Future/) with spack(https://github.com/spack/spack), an error like below encountered. It seems hipcc misparsed const HIP_vector_type<float, 2> as the same with hipFloatComplex(or say, float2, a struct in hip header), resulting in two possible '*' operator.

Shortened Error Message
/tmp/yizeyi18/spack-stage/spack-stage-dla-future-0.3.1-z3uclos3gvxaa7c5siuj7l7cx44yzj4k/spack-src/src/lapack/gpu/add.cu:32:17: error: use of overloaded operator '*' is ambiguous (with operand types 'const HIP_vector_type' and 'const HIP_vector_type')
  b = b + alpha * a;
          ~~~~~ ^ ~
/tmp/yizeyi18/spack-stage/spack-stage-dla-future-0.3.1-z3uclos3gvxaa7c5siuj7l7cx44yzj4k/spack-src/src/lapack/gpu/add.cu:101:30: note: in instantiation of function template specialization 'dlaf::gpulapack::kernels::addAlpha>' requested here
    addDiagInternal(m, n, alpha, a, lda, b, ldb);
                             ^
/tmp/yizeyi18/spack-stage/spack-stage-dla-future-0.3.1-z3uclos3gvxaa7c5siuj7l7cx44yzj4k/spack-src/src/lapack/gpu/add.cu:126:9: note: in instantiation of function template specialization 'dlaf::gpulapack::kernels::addDiag<&dlaf::util::isLower, HIP_vector_type>' requested here
        addDiag(m, n, alpha, a, lda, b, ldb);
        ^
/tmp/yizeyi18/spack-stage/spack-stage-dla-future-0.3.1-z3uclos3gvxaa7c5siuj7l7cx44yzj4k/spack-src/src/lapack/gpu/add.cu:161:12: note: in instantiation of function template specialization 'dlaf::gpulapack::kernels::add>' requested here
  kernels::add<<>>(util::blasToCublas(uplo), um, un,
           ^
/opt/rocm/include/hip/amd_detail/amd_hip_vector_types.h:548:65: note: candidate function
        friend __HOST_DEVICE__ inline constexpr HIP_vector_type operator*(
                                                                ^
/opt/rocm/include/hip/amd_detail/amd_hip_complex.h:237:1: note: candidate function
COMPLEX_MUL_OP_OVERLOAD(hipFloatComplex)
^
/opt/rocm/include/hip/amd_detail/amd_hip_complex.h:78:40: note: expanded from macro 'COMPLEX_MUL_OP_OVERLOAD'
    __HOST_DEVICE__ static inline type operator*(const type& lhs, const type& rhs) {           \

full build logs:
logs_and_source.zip

@dgaliffiAMD dgaliffiAMD added the hipcc Related to HIPCC label May 4, 2024
@lamb-j lamb-j transferred this issue from ROCm/HIPCC May 14, 2024
@ppanchad-amd
Copy link

@yizeyi18 Internal ticket has been created to investigate this issue. Thanks!

@schung-amd
Copy link

Closing as I can't reproduce this with Ubuntu 22.04 + ROCm 6.2.2 on a 7900XTX, configuring spack with +rocm amdgpu_target=gfx1100 and specifying ROCm-packaged clang as the compiler. I did, however, have to remove the googletest version bump from the DLA-future/external makefile, as the cherry-pick was failing. If you're still experiencing this issue with current ROCm versions, feel free to comment and we can reopen this.

@schung-amd schung-amd closed this as not planned Won't fix, can't repro, duplicate, stale Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants