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

Build error with relocatable device code with CUDA 10.1 GCC 7.3 #2134

Closed
dalg24 opened this issue May 13, 2019 · 2 comments
Closed

Build error with relocatable device code with CUDA 10.1 GCC 7.3 #2134

dalg24 opened this issue May 13, 2019 · 2 comments
Assignees
Labels
Bug Broken / incorrect code; it could be Kokkos' responsibility, or others’ (e.g., Trilinos) Compiler Issue An issue that Kokkos cannot / should not fix; Kokkos must communicate to relevant vendor

Comments

@dalg24
Copy link
Member

dalg24 commented May 13, 2019

/var/jenkins/workspace/Kokkos/core/src/impl/Kokkos_TaskQueueMultiple_impl.hpp: In instantiation of 'void Kokkos::Impl::TaskQueueMultiple<ExecSpace, MemorySpace>::Destroy::destroy_shared_allocation() [with ExecSpace = Kokkos::Cuda; MemorySpace = Kokkos::CudaUVMSpace]':
/var/jenkins/workspace/Kokkos/core/src/Cuda/Kokkos_Cuda_Task.cpp:58:16:   required from here
/var/jenkins/workspace/Kokkos/core/src/impl/Kokkos_TaskQueueMultiple_impl.hpp:59:16: error: cannot call member function 'Kokkos::Impl::TaskQueueMultiple<ExecSpace, MemorySpace>::team_queue_type& Kokkos::Impl::TaskQueueMultiple<ExecSpace, MemorySpace>::get_team_queue(int) [with ExecSpace = Kokkos::Cuda; MemorySpace = Kokkos::CudaUVMSpace; Kokkos::Impl::TaskQueueMultiple<ExecSpace, MemorySpace>::team_queue_type = Kokkos::Impl::TaskQueueMultiple<Kokkos::Cuda, Kokkos::CudaUVMSpace>]' without object
   m_queue->get_team_queue(0).~TaskQueueMultiple();
   ~~~~~~~~~~~~~^~~
/var/jenkins/workspace/Kokkos/Makefile.targets:48: recipe for target 'Kokkos_Cuda_Task.o' failed
make[1]: *** [Kokkos_Cuda_Task.o] Error 1
make[1]: Leaving directory '/var/jenkins/workspace/Kokkos/build/core'
Makefile:12: recipe for target 'kokkoslib-test' failed
make: *** [kokkoslib-test] Error 2

Originally posted by @crtrott in #2126 (comment)

@crtrott crtrott changed the title Build error with relocatable device code Build error with relocatable device code with CUDA 10.1 GCC 7.3 May 13, 2019
@crtrott crtrott added Bug Broken / incorrect code; it could be Kokkos' responsibility, or others’ (e.g., Trilinos) Compiler Issue An issue that Kokkos cannot / should not fix; Kokkos must communicate to relevant vendor labels May 13, 2019
@crtrott
Copy link
Member

crtrott commented May 13, 2019

Looks like a compiler issue. This works with CUDA 10.1 / GCC 6.1 it also works with GCC 7.3 building for OpenMP. I have a workaround like this, which is further indication this is a compiler bug.

// KOKKOS WORKAROUND for CUDA 10.1 with GCC 7.3.0
#if(KOKKOS_COMPILER_CUDA_VERSION==101) && defined(KOKKOS_COMPILER_NVCC) && (KOKKOS_COMPILER_GNU==730)
  (*m_queue).get_team_queue(0).~TaskQueueMultiple();
#else
  m_queue->get_team_queue(0).~TaskQueueMultiple();
#endif

@crtrott crtrott self-assigned this May 13, 2019
@crtrott crtrott added the Blocks Promotion Overview issue for release-blocking bugs label May 13, 2019
crtrott added a commit that referenced this issue May 13, 2019
@crtrott
Copy link
Member

crtrott commented May 13, 2019

Bug doesn't happen with GCC 7.2 but does with GCC 7.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Broken / incorrect code; it could be Kokkos' responsibility, or others’ (e.g., Trilinos) Compiler Issue An issue that Kokkos cannot / should not fix; Kokkos must communicate to relevant vendor
Projects
None yet
Development

No branches or pull requests

3 participants