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

Kokkos (in Trilinos) Causes Internal Compiler Error on CUDA 8.0.21-EA on POWER8 #307

Closed
nmhamster opened this issue May 27, 2016 · 11 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
Milestone

Comments

@nmhamster
Copy link
Contributor

Configured with CUDA 8.0.21 and GCC 5.3.0 on POWER8 I am getting the following (see below). Just listed here for project tracking.

[  0%] Built target KokkosCore_UnitTest_Cuda
[  0%] Building CXX object packages/kokkos/core/unit_test/CMakeFiles/KokkosCore_UnitTest_Default.dir/TestDefaultDeviceType.cpp.o
nvcc_wrapper - *warning* you have set multiple optimization flags (-O*), only the first is used because nvcc can only accept a single optimization setting.
/home/sdhammo/git/trilinos-github-repo/packages/kokkos/core/src/impl/Kokkos_Atomic_Decrement.hpp(61): warning: integer conversion resulted in a change of sign

/home/sdhammo/git/trilinos-github-repo/packages/kokkos/core/src/impl/Kokkos_Atomic_Decrement.hpp(61): warning: integer conversion resulted in a change of sign

Error: Internal Compiler Error (codegen): "there was an error in verifying the lgenfe output!"

make[2]: *** [packages/kokkos/core/unit_test/CMakeFiles/KokkosCore_UnitTest_Default.dir/TestDefaultDeviceType.cpp.o] Error 2
make[1]: *** [packages/kokkos/core/unit_test/CMakeFiles/KokkosCore_UnitTest_Default.dir/all] Error 2
make: *** [all] Error 2
@nmhamster nmhamster added the Bug Broken / incorrect code; it could be Kokkos' responsibility, or others’ (e.g., Trilinos) label May 27, 2016
@crtrott
Copy link
Member

crtrott commented May 27, 2016

Is that nvcc or GCC complaining. Do you know?

@nmhamster
Copy link
Contributor Author

Good question. I am using GCC 5.3.0 on other platforms without problems but I don't know for certain.

@nmhamster
Copy link
Contributor Author

So I think this is going through nvcc_wrapper and hitting nvcc (note the nvcc_wrapper warnings)

make[2]: Entering directory `/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-8021'
[  0%] Building CXX object packages/kokkos/core/unit_test/CMakeFiles/KokkosCore_UnitTest_Default.dir/TestDefaultDeviceType.cpp.o
cd /home/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-8021/packages/kokkos/core/unit_test && /home/projects/pwr8-rhel72/openmpi/1.10.2/gcc/5.3.0/cuda/8.0.21/bin/mpicxx    -I/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-8021 -I/home/sdhammo/git/trilinos-github-repo/packages/kokkos/tpls/gtest -I/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-8021/packages/kokkos/core/src -I/home/sdhammo/git/trilinos-github-repo/packages/kokkos/core/src -I/home/projects/pwr8-rhel72/cuda/8.0.21/include -I/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-8021/packages/kokkos/core/unit_test -I/home/sdhammo/git/trilinos-github-repo/packages/kokkos/core/unit_test  -pedantic -Wall -Wno-long-long -Wwrite-strings   -O3 -g -fopenmp -mcpu=power8 -std=c++11 -fopenmp   -o CMakeFiles/KokkosCore_UnitTest_Default.dir/TestDefaultDeviceType.cpp.o -c /home/sdhammo/git/trilinos-github-repo/packages/kokkos/core/unit_test/TestDefaultDeviceType.cpp
nvcc_wrapper - *warning* you have set multiple optimization flags (-O*), only the first is used because nvcc can only accept a single optimization setting.
/home/sdhammo/git/trilinos-github-repo/packages/kokkos/core/src/impl/Kokkos_Atomic_Decrement.hpp(61): warning: integer conversion resulted in a change of sign

/home/sdhammo/git/trilinos-github-repo/packages/kokkos/core/src/impl/Kokkos_Atomic_Decrement.hpp(61): warning: integer conversion resulted in a change of sign

Error: Internal Compiler Error (codegen): "there was an error in verifying the lgenfe output!"

make[2]: *** [packages/kokkos/core/unit_test/CMakeFiles/KokkosCore_UnitTest_Default.dir/TestDefaultDeviceType.cpp.o] Error 2
make[2]: Leaving directory `/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-8021'
make[1]: *** [packages/kokkos/core/unit_test/CMakeFiles/KokkosCore_UnitTest_Default.dir/all] Error 2
make[1]: Leaving directory `/home/sdhammo/git/trilinos-github-repo/build-power8-gcc-cuda-8021'
make: *** [all] Error 2

@nmhamster
Copy link
Contributor Author

Looks to compile OK with just plain GCC 5.3.0 on POWER8 RHEL72

@crtrott
Copy link
Member

crtrott commented May 27, 2016

Yeah I was suspecting this is nvcc failing. The codegen thingy is something I believe I saw before from it.

@nmhamster
Copy link
Contributor Author

I thought you had already tested with CUDA 8.0.21 (just the SDK on POWER8), is this right? Did it pass?

@nmhamster
Copy link
Contributor Author

Confirmed - Trilinos builds successfully with GCC 5.3.0 on POWER8 with RHEL7.2 (no CUDA, but OpenMP backend enabled).

@crtrott
Copy link
Member

crtrott commented May 27, 2016

No I didn't test CUDA 8 on Power. I did on X86 and that works.

@crtrott crtrott added the Compiler Issue An issue that Kokkos cannot / should not fix; Kokkos must communicate to relevant vendor label May 27, 2016
@ndellingwood ndellingwood added this to the Backlog milestone Jun 8, 2016
@hcedwar
Copy link
Contributor

hcedwar commented Sep 21, 2016

Retest with latest compilers

@hcedwar hcedwar modified the milestones: Fall 2016, Backlog Sep 21, 2016
@nmhamster
Copy link
Contributor Author

@hcedwar please hold, we will be updating compilers again very shortly.

@crtrott
Copy link
Member

crtrott commented Oct 27, 2016

Closing this for now. With Cuda 8.0.27 everything compiles. There are still some random runtime failures.

@crtrott crtrott closed this as completed Oct 27, 2016
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

4 participants