RAJA: OpenMP offload build fails with undefined `camp::resources::Omp`
I’m not able to get the current develop (81d6990ddb20719ff1a18f723b3bf767b134658b) or the v0.14.0 tag to build with CCE OpenMP offload due to build time failures that seem to originate from CAMP not respecting -DENABLE_TARGET_OPENMP.
I configure with:
cmake -DENABLE_OPENMP=On -DENABLE_TARGET_OPENMP=On \
-DENABLE_CUDA=Off -DENABLE_CLANG_CUDA=Off -DENABLE_HIP=Off \
-DENABLE_CLANG_HIP=Off -DENABLE_TBB=Off \
-DCMAKE_CXX_COMPILER=CC -DCMAKE_C_COMPILER=cc \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=14 \
-DENABLE_TESTS=On -DENABLE_EXAMPLES=Off ../
And get failures looking like:
[ 2%] Building CXX object test/integration/plugin/CMakeFiles/test-plugin-forall-OpenMP.exe.dir/test-plugin-forall-OpenMP.cpp.o
cd /home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/build/test/integration/plugin && /opt/cray/pe/craype/2.7.10.1/bin/CC -DGTEST_HAS_DEATH_TEST=1 -I/home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/test/include -isystem /home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/blt/thirdparty_builtin/googletest-master-2020-01-07/googletest/include -I/home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/test/integration/plugin/tests -I/home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/blt/thirdparty_builtin/googletest-master-2020-01-07/googletest -I/home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/include -I/home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/build/include -I/home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/tpl/camp/include -Wall -Wextra -O2 -DNDEBUG -fPIE -fopenmp -std=c++14 -o CMakeFiles/test-plugin-forall-OpenMP.exe.dir/test-plugin-forall-OpenMP.cpp.o -c /home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/build/test/integration/plugin/test-plugin-forall-OpenMP.cpp
In file included from /home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/build/test/integration/plugin/test-plugin-forall-OpenMP.cpp:11:
In file included from /home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/test/include/RAJA_test-base.hpp:15:
In file included from /home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/include/RAJA/RAJA.hpp:44:
In file included from /home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/include/RAJA/pattern/forall.hpp:64:
In file included from /home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/include/RAJA/policy/MultiPolicy.hpp:31:
/home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/include/RAJA/util/resource.hpp:112:35: error: no type named 'Omp' in namespace 'camp::resources'
using type = camp::resources::Omp;
~~~~~~~~~~~~~~~~~^
/home/users/sabbott/nightly_crons/raja-hip-gfx908/RAJA/include/RAJA/util/resource.hpp:117:35: error: no type named 'Omp' in namespace 'camp::resources'
using type = camp::resources::Omp;
~~~~~~~~~~~~~~~~~^
I ran a bisect and the first broken commit was afa2caf49fbdf25359320c6609dee1a1e47912f4 , but since that was reverted when CAMP was updated it is probably a regression in CAMP. Just quickly looking at CAMP my initial guess is that it’s missing a cmake define in the config file or something. I’ll try to identify the actual error in camp and open an issue or PR there. Another, less likely, option might be the -DENABLE_TARGET_OPENMP=On
option not propagating to CAMP.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 18 (11 by maintainers)
I think this ends up being addressed with the exported target fixes we were working on, should probably check if RAJA develop/camp main has this working, it should.
Tom did say develop, but he actually meant “main”. 🙂