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

Warnings with Cuda 10.1 #2206

Closed
berselius opened this issue Jul 10, 2019 · 4 comments
Closed

Warnings with Cuda 10.1 #2206

berselius opened this issue Jul 10, 2019 · 4 comments
Assignees
Labels
Enhancement Improve existing capability; will potentially require voting

Comments

@berselius
Copy link

I am building an application off of a cuda-enabled trilinos and getting a zillion kokkos-related warnings similar to

/projects/draco/vendors/trilinos-12.14.1/power9-gcc-7.3.0-openmpi-3.1.3-cuda-10.1-b/include/Kokkos_MemoryPool.hpp(314): warning: __device__ annotation is ignored on a function("MemoryPool") that is explicitly defaulted on its first declaration

I mentioned this in the kokkos slack and Christian suggested this is a Cuda 10.1 thing.

Looks like someone was seeing similar warnings in #1985

@crtrott crtrott added the Enhancement Improve existing capability; will potentially require voting label Jul 10, 2019
@crtrott
Copy link
Member

crtrott commented Jul 10, 2019

OK it is not fixed: we need to use the "DEFAULTED" macro.

@berselius
Copy link
Author

berselius commented Jul 17, 2019

After some discussion on slack, it looks like the issue was that my app does not pick up the trilinos CXX flags

We don't want all of them anyway, so I added the following to my build system.

if (ENABLE_KOKKOS)
   string(APPEND CMAKE_CXX_FLAGS "-Xcudafe --diag_suppress=esa_on_defaulted_function_ignored -expt-extended-lambda")
endif()

The warning suppression flag takes care of this.

@ibaned
Copy link
Contributor

ibaned commented Jul 24, 2019

@crtrott I think the latest CUDA versions (10.1) do generate the right device code for defaulted member functions, so I think when CUDA is new enough we should just not mark defaulted functions with __host__ __device__. Then we can also omit the diagnostic suppression flag.

@jeffmiles63 jeffmiles63 added this to the Tentative 3.1 Release milestone Aug 28, 2019
@jeffmiles63 jeffmiles63 added this to To do in Milestone: Release 3.1 via automation Aug 28, 2019
@jeffmiles63
Copy link
Contributor

@ibaned @crtrott @berselius The current version (develop - Release 3.0) of Makefile.kokkos and cmake/kokkos_arch.cmake automatically add the --diag_suppress=esa_on_defaulted_function_ignored if the compiler version is greater than 9.0

@crtrott crtrott moved this from To do to Done in Milestone: Release 3.1 Mar 10, 2020
@crtrott crtrott closed this as completed Apr 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Improve existing capability; will potentially require voting
Projects
No open projects
Development

No branches or pull requests

4 participants