Skip to content

Evaluate files that are compiled with cxx rather than nvcc on CUDA builds #1625

@chapman39

Description

@chapman39

Some files in axom have been set to be compiled as cxx files due to nvcc bugs.

https://github.com/search?q=repo%3ALLNL%2Faxom+%22%23+Set+file+back+to+C%2B%2B+due+to+nvcc+compiler+error%22&type=code

We should investigate these and see how they change in C++17 and newer CUDA versions. I'm building against a newer MFEM (which also switched to C++17) and this one in particular caused my axom build to fail:

https://github.com/LLNL/axom/blob/0ce11798bb3de249a2a155617ca6903f17a40a6d/src/axom/inlet/CMakeLists.txt#L68

In file included from /usr/WS2/meemee/lido-2.0/lido_libs_blueos/build_stage/spack-stage-axom-0.11.0.1-2c2v4opbrfh6davjvlusi4ba26ohw3mh/spack-src/src/axom/inlet/LuaReader.cpp:16:
...
/usr/WS2/meemee/lido-2.0/lido_libs_blueos/linux-rhel7-power9le/clang-14.0.5/mfem-4.8.0.1_lido-fjmharcrfmrzyfo7dz6f5qchle5n7lkm/include/mfem/mesh/../fem/dfem/../../general/forall.hpp:489:18: error: use of undeclared identifier 'blockDim'
   const int k = blockDim.x*blockIdx.x + threadIdx.x;
                 ^
...
17 errors generated.
make[2]: *** [axom/inlet/CMakeFiles/inlet.dir/build.make:233: axom/inlet/CMakeFiles/inlet.dir/LuaReader.cpp.o] Error 1

Commenting out that line above resolved my issue.

I don't mind doing this, I just figured I'd document my findings first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Build systemIssues related to Axom's build systemInletReviewedTPLIssues related to Axom's third party librariesbugSomething isn't workingcompilerRelated to various compilers and their quirkscudaIssues related to CUDAmaintenanceIssues related to code maintenance

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions