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

HIP vector types do not link properly with a combination of gcc and hcc #1675

Closed
jglaser opened this issue Nov 20, 2019 · 1 comment · Fixed by #1690
Closed

HIP vector types do not link properly with a combination of gcc and hcc #1675

jglaser opened this issue Nov 20, 2019 · 1 comment · Fixed by #1690

Comments

@jglaser
Copy link

jglaser commented Nov 20, 2019

With the development version of HIP (3a7eb69), I get linker errors in a project which mixes gcc-compiled objects with hipcc-compiled device methods. The reason is a change in hcc_detail/hip_vector_types.h, which defines e.g. double4 differently with gcc and clang. The linker doesn't recognize they're the same anymore. Reverting back to roc 2.9.

@jglaser jglaser changed the title HIP vector types do not link properly with gcc/hcc combination in current master HIP vector types do not link properly with a combination of gcc and hcc Nov 20, 2019
@jglaser
Copy link
Author

jglaser commented Nov 22, 2019

The changes introduced in 4a635ad are really problematic. For instance, the definition of the Scalar_accessor functions as members of the vector types introduces problems with template argument deduction, in particular when e.g. double4 members are passed to atomicMax functions or other templates (like in serialization libraries). These functions expect e.g. the double4 member .x to be of data type double, but now it is of data type hip_impl::Scalar_accessor. Moreover, some operators like bitwise shift which are not present in CUDA are introduced here and can cause compilation errors. Could these changes be reverted?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant