A-New-BellHope / bellhopcuda

CUDA and C++ port of BELLHOP / BELLHOP3D underwater acoustics simulator
GNU General Public License v3.0
60 stars 7 forks source link

Can't compile bellhopcuda #38

Open fincb opened 1 month ago

fincb commented 1 month ago

I'm having issues compiling bellhopcuda specifically. I am able to compile:

bellhopcxx bellhopcxx2d bellhopcxx3d bellhopcxxnx2d libbellhopcxxlib.so libbellhopcxxstatic.a

I have a recent version of cuda (12.2) and I am on ubuntu linux 22.04. I get the following errors:

Consolidate compiler generated dependencies of target bellhopcudaobjlib
[ 50%] Building CXX object config/cuda/CMakeFiles/bellhopcudaobjlib.dir/__/__/src/mode/arr.cpp.o
In file included from /usr/include/cuda/std/cmath:19,
                 from /usr/include/cuda/std/complex:12,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common.hpp:92,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.cpp:19:
/usr/include/cuda/std/detail/libcxx/include/cmath:569:101: error: ‘float cuda::std::__4::hypot(float, float, float)’ conflicts with a previous declaration
  569 | inline _LIBCUDACXX_INLINE_VISIBILITY float       hypot(       float x,       float y,       float z ) { return sqrt(x*x + y*y + z*z); }
      |                                                                                                     ^
In file included from /usr/include/c++/11/math.h:36,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common.hpp:26,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.cpp:19:
/usr/include/c++/11/cmath:1868:3: note: previous declaration ‘float std::hypot(float, float, float)’
 1868 |   hypot(float __x, float __y, float __z)
      |   ^~~~~
In file included from /usr/include/cuda/std/cmath:19,
                 from /usr/include/cuda/std/complex:12,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common.hpp:92,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.cpp:19:
/usr/include/cuda/std/detail/libcxx/include/cmath:570:101: error: ‘double cuda::std::__4::hypot(double, double, double)’ conflicts with a previous declaration
  570 | inline _LIBCUDACXX_INLINE_VISIBILITY double      hypot(      double x,      double y,      double z ) { return sqrt(x*x + y*y + z*z); }
      |                                                                                                     ^
In file included from /usr/include/c++/11/math.h:36,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common.hpp:26,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.cpp:19:
/usr/include/c++/11/cmath:1872:3: note: previous declaration ‘double std::hypot(double, double, double)’
 1872 |   hypot(double __x, double __y, double __z)
      |   ^~~~~
In file included from /usr/include/cuda/std/cmath:19,
                 from /usr/include/cuda/std/complex:12,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common.hpp:92,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.cpp:19:
/usr/include/cuda/std/detail/libcxx/include/cmath:572:101: error: ‘long double cuda::std::__4::hypot(long double, long double, long double)’ conflicts with a previous declaration
  572 | inline _LIBCUDACXX_INLINE_VISIBILITY long double hypot( long double x, long double y, long double z ) { return sqrt(x*x + y*y + z*z); }
      |                                                                                                     ^
In file included from /usr/include/c++/11/math.h:36,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common.hpp:26,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.cpp:19:
/usr/include/c++/11/cmath:1876:3: note: previous declaration ‘long double std::hypot(long double, long double, long double)’
 1876 |   hypot(long double __x, long double __y, long double __z)
      |   ^~~~~
In file included from /home/fin/Documents/c/bellhopcuda2/src/mode/../common.hpp:94,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda2/src/mode/arr.cpp:19:
/usr/include/cuda/std/atomic:56:22: error: ‘thread_scope’ has not been declared in ‘cuda::std::__4::__detail’
   56 | using std::__detail::thread_scope;
      |                      ^~~~~~~~~~~~
/usr/include/cuda/std/atomic:57:22: error: ‘thread_scope_system’ has not been declared in ‘cuda::std::__4::__detail’
   57 | using std::__detail::thread_scope_system;
      |                      ^~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:58:22: error: ‘thread_scope_device’ has not been declared in ‘cuda::std::__4::__detail’
   58 | using std::__detail::thread_scope_device;
      |                      ^~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:59:22: error: ‘thread_scope_block’ has not been declared in ‘cuda::std::__4::__detail’
   59 | using std::__detail::thread_scope_block;
      |                      ^~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:60:22: error: ‘thread_scope_thread’ has not been declared in ‘cuda::std::__4::__detail’
   60 | using std::__detail::thread_scope_thread;
      |                      ^~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:63:22: error: ‘__thread_scope_block_tag’ has not been declared in ‘cuda::std::__4::__detail’
   63 | using std::__detail::__thread_scope_block_tag;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:64:22: error: ‘__thread_scope_device_tag’ has not been declared in ‘cuda::std::__4::__detail’
   64 | using std::__detail::__thread_scope_device_tag;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:65:22: error: ‘__thread_scope_system_tag’ has not been declared in ‘cuda::std::__4::__detail’
   65 | using std::__detail::__thread_scope_system_tag;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:66:22: error: ‘__atomic_signal_fence_cuda’ has not been declared in ‘cuda::std::__4::__detail’
   66 | using std::__detail::__atomic_signal_fence_cuda;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:67:22: error: ‘__atomic_thread_fence_cuda’ has not been declared in ‘cuda::std::__4::__detail’
   67 | using std::__detail::__atomic_thread_fence_cuda;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:81:22: error: ‘thread_scope’ has not been declared
   81 | template <class _Tp, thread_scope _Sco = thread_scope::thread_scope_system>
      |                      ^~~~~~~~~~~~
/usr/include/cuda/std/atomic:81:42: error: ‘thread_scope’ has not been declared
   81 | template <class _Tp, thread_scope _Sco = thread_scope::thread_scope_system>
      |                                          ^~~~~~~~~~~~
/usr/include/cuda/std/atomic:83:38: error: ‘_Sco’ was not declared in this scope
   83 |     : public std::__atomic_base<_Tp, _Sco>
      |                                      ^~~~
/usr/include/cuda/std/atomic:83:42: error: template argument 2 is invalid
   83 |     : public std::__atomic_base<_Tp, _Sco>
      |                                          ^
/usr/include/cuda/std/atomic:85:37: error: ‘_Sco’ was not declared in this scope
   85 |     typedef std::__atomic_base<_Tp, _Sco> __base;
      |                                     ^~~~
/usr/include/cuda/std/atomic:85:41: error: template argument 2 is invalid
   85 |     typedef std::__atomic_base<_Tp, _Sco> __base;
      |                                         ^
/usr/include/cuda/std/atomic:113:22: error: ‘thread_scope’ has not been declared
  113 | template <class _Tp, thread_scope _Sco>
      |                      ^~~~~~~~~~~~
/usr/include/cuda/std/atomic:114:21: error: ‘_Sco’ was not declared in this scope
  114 | struct atomic<_Tp*, _Sco>
      |                     ^~~~
/usr/include/cuda/std/atomic:114:25: error: template argument 2 is invalid
  114 | struct atomic<_Tp*, _Sco>
      |                         ^
/usr/include/cuda/std/atomic:115:39: error: ‘_Sco’ was not declared in this scope
  115 |     : public std::__atomic_base<_Tp*, _Sco>
      |                                       ^~~~
/usr/include/cuda/std/atomic:115:43: error: template argument 2 is invalid
  115 |     : public std::__atomic_base<_Tp*, _Sco>
      |                                           ^
/usr/include/cuda/std/atomic:171:71: error: ‘thread_scope’ has not been declared
  171 | inline __host__ __device__ void atomic_thread_fence(memory_order __m, thread_scope _Scope = thread_scope::thread_scope_system) {
      |                                                                       ^~~~~~~~~~~~
/usr/include/cuda/std/atomic:171:93: error: ‘thread_scope’ has not been declared
  171 | inline __host__ __device__ void atomic_thread_fence(memory_order __m, thread_scope _Scope = thread_scope::thread_scope_system) {
      |                                                                                             ^~~~~~~~~~~~
make[2]: *** [config/cuda/CMakeFiles/bellhopcudaobjlib.dir/build.make:76: config/cuda/CMakeFiles/bellhopcudaobjlib.dir/__/__/src/mode/arr.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:361: config/cuda/CMakeFiles/bellhopcudaobjlib.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
oldstylejoe commented 1 month ago

Thanks for letting us know, and sorry to hear it's not working for you. I don't have a linux box handy with CUDA 12.2, but I regularly use 12.4 with no issues on ubuntu 22.04. Those errors look like conflicting headers that could be from other CUDA installs, but it's hard to tell. If upgrading and checking the installs doesn't fix it, could you please let me know more about your system (cpu and etc..) so I can try to reproduce the issue.

fincb commented 4 weeks ago

Oh I thought it was a c++11 math library conflicting with a CUDA math library, not sure about the thread_scope issue. I will try updating, to be clear you have used CUDA toolkit (nvcc) 12.4?

My system specs are: CPU: AMD 5950x GPU: NVIDIA RTX 3090 RAM: 32Gb ddr4 Motherboard vendor: ASUS let me know if you need anything else.

As a note, I also had to add ../ to several places where glm libraries are called. i.e. #include <../glm/common.hpp> etc... I added the glm files to the empty folder, but perhaps I have misunderstood something there.

oldstylejoe commented 4 weeks ago

Yes, I regularly use 12.4 on linux. I have used 12.2 on Windows, but not recently on linux. You shouldn't have to add anything to the includes. Is it possible you need to update the glm submodule? From the command line you'd run git submodule update --init --recursive

oldstylejoe commented 3 weeks ago

@fincb could you please let me know if the problem is solved or if I should look into this more?

fincb commented 3 weeks ago

No it still doesn't work and sorry for the delayed response. I installed cuda toolkit 12.4 and cloned the repo from scratch then did the following:

This then gets:

[  1%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/__/__/src/mode/arr.cpp.o
[  1%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/__/__/src/mode/eigen.cpp.o
[  1%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/__/__/src/mode/field.cpp.o
[  1%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/__/__/src/mode/ray.cpp.o
[  2%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/__/__/src/mode/tl.cpp.o
[  2%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/__/__/src/module/atten.cpp.o
[  2%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/__/__/src/util/errors.cpp.o
[  2%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/__/__/src/util/timing.cpp.o
[  3%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/__/__/src/api.cpp.o
[  3%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_RAYCEN_N2LINEAR.cpp.o
[  3%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_RAYCEN_CLINEAR.cpp.o
[  3%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_RAYCEN_CUBIC.cpp.o
[  4%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_RAYCEN_PCHIP.cpp.o
[  4%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_RAYCEN_QUAD.cpp.o
[  4%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_RAYCEN_ANALYTIC.cpp.o
[  5%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_CART_N2LINEAR.cpp.o
[  5%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_CART_CLINEAR.cpp.o
[  5%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_CART_CUBIC.cpp.o
[  5%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_CART_PCHIP.cpp.o
[  6%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_CART_QUAD.cpp.o
[  6%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_CERVENY_CART_ANALYTIC.cpp.o
[  6%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_RAYCEN_N2LINEAR.cpp.o
[  6%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_RAYCEN_CLINEAR.cpp.o
[  7%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_RAYCEN_CUBIC.cpp.o
[  7%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_RAYCEN_PCHIP.cpp.o
[  7%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_RAYCEN_QUAD.cpp.o
[  7%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_RAYCEN_ANALYTIC.cpp.o
[  8%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_CART_N2LINEAR.cpp.o
[  8%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_CART_CLINEAR.cpp.o
[  8%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_CART_CUBIC.cpp.o
[  8%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_CART_PCHIP.cpp.o
[  9%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_CART_QUAD.cpp.o
[  9%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_GEOM_CART_ANALYTIC.cpp.o
[  9%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_SGB_N2LINEAR.cpp.o
[  9%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_SGB_CLINEAR.cpp.o
[ 10%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_SGB_CUBIC.cpp.o
[ 10%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_SGB_PCHIP.cpp.o
[ 10%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_SGB_QUAD.cpp.o
[ 11%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_TL_SGB_ANALYTIC.cpp.o
[ 11%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_RAYCEN_N2LINEAR.cpp.o
[ 11%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_RAYCEN_CLINEAR.cpp.o
[ 11%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_RAYCEN_CUBIC.cpp.o
[ 12%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_RAYCEN_PCHIP.cpp.o
[ 12%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_RAYCEN_QUAD.cpp.o
[ 12%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_RAYCEN_ANALYTIC.cpp.o
[ 12%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_CART_N2LINEAR.cpp.o
[ 13%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_CART_CLINEAR.cpp.o
[ 13%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_CART_CUBIC.cpp.o
[ 13%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_CART_PCHIP.cpp.o
[ 13%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_CART_QUAD.cpp.o
[ 14%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_GEOM_CART_ANALYTIC.cpp.o
[ 14%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_SGB_N2LINEAR.cpp.o
[ 14%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_SGB_CLINEAR.cpp.o
In file included from /home/fin/Documents/c/bellhopcuda3/config/cxx/gen_templates/field_2D_EIGENRAYS_SGB_CLINEAR.cpp:20:
/home/fin/Documents/c/bellhopcuda3/src/trace.hpp: In function ‘void bhc::MainFieldModes(bhc::RayInitInfo&, bhc::cpxf*, const bhc::BdryType*, const bhc::BdryInfo<O3D>*, const bhc::ReflectionInfo*, const bhc::SSPStructure*, const bhc::Position*, const bhc::AnglesStructure*, const bhc::FreqInfo*, const bhc::BeamStructure<O3D>*, const bhc::SBPInfo*, bhc::EigenInfo*, const bhc::ArrInfo*, bhc::ErrState*) [with CFG = bhc::CfgSel<'E', 'S', 'C'>; bool O3D = false; bool R3D = false]’:
/home/fin/Documents/c/bellhopcuda3/src/trace.hpp:539:32: warning: ‘*(double*)((char*)&point2 + offsetof(bhc::rayPt<false>,bhc::rayPt<false>::t.glm::vec<2, double, glm::packed_highp>::<unnamed>))’ is used uninitialized [-Wuninitialized]
  539 |     rayPt<R3D> point0, point1, point2;
      |                                ^~~~~~
/home/fin/Documents/c/bellhopcuda3/src/trace.hpp:539:32: warning: ‘*(double*)((char*)&point2 + offsetof(bhc::rayPt<false>,bhc::rayPt<false>::t.glm::vec<2, double, glm::packed_highp>::<unnamed>))’ is used uninitialized [-Wuninitialized]
/home/fin/Documents/c/bellhopcuda3/src/trace.hpp:539:32: warning: ‘point2.bhc::rayPt<false>::x.glm::vec<2, double, glm::packed_highp>::<anonymous>.glm::vec<2, double, glm::packed_highp>::<unnamed union>::x’ is used uninitialized [-Wuninitialized]
/home/fin/Documents/c/bellhopcuda3/src/trace.hpp:539:32: warning: ‘point2.bhc::rayPt<false>::x.glm::vec<2, double, glm::packed_highp>::<anonymous>.glm::vec<2, double, glm::packed_highp>::<unnamed union>::y’ is used uninitialized [-Wuninitialized]
[ 14%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_SGB_CUBIC.cpp.o
[ 15%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_SGB_PCHIP.cpp.o
[ 15%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_SGB_QUAD.cpp.o
[ 15%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_EIGENRAYS_SGB_ANALYTIC.cpp.o
In file included from /home/fin/Documents/c/bellhopcuda3/config/cxx/gen_templates/field_2D_EIGENRAYS_SGB_ANALYTIC.cpp:20:
/home/fin/Documents/c/bellhopcuda3/src/trace.hpp: In function ‘void bhc::MainFieldModes(bhc::RayInitInfo&, bhc::cpxf*, const bhc::BdryType*, const bhc::BdryInfo<O3D>*, const bhc::ReflectionInfo*, const bhc::SSPStructure*, const bhc::Position*, const bhc::AnglesStructure*, const bhc::FreqInfo*, const bhc::BeamStructure<O3D>*, const bhc::SBPInfo*, bhc::EigenInfo*, const bhc::ArrInfo*, bhc::ErrState*) [with CFG = bhc::CfgSel<'E', 'S', 'A'>; bool O3D = false; bool R3D = false]’:
/home/fin/Documents/c/bellhopcuda3/src/trace.hpp:539:32: warning: ‘*(double*)((char*)&point2 + offsetof(bhc::rayPt<false>,bhc::rayPt<false>::t.glm::vec<2, double, glm::packed_highp>::<unnamed>))’ is used uninitialized [-Wuninitialized]
  539 |     rayPt<R3D> point0, point1, point2;
      |                                ^~~~~~
/home/fin/Documents/c/bellhopcuda3/src/trace.hpp:539:32: warning: ‘*(double*)((char*)&point2 + offsetof(bhc::rayPt<false>,bhc::rayPt<false>::t.glm::vec<2, double, glm::packed_highp>::<unnamed>))’ is used uninitialized [-Wuninitialized]
/home/fin/Documents/c/bellhopcuda3/src/trace.hpp:539:32: warning: ‘point2.bhc::rayPt<false>::x.glm::vec<2, double, glm::packed_highp>::<anonymous>.glm::vec<2, double, glm::packed_highp>::<unnamed union>::x’ is used uninitialized [-Wuninitialized]
/home/fin/Documents/c/bellhopcuda3/src/trace.hpp:539:32: warning: ‘point2.bhc::rayPt<false>::x.glm::vec<2, double, glm::packed_highp>::<anonymous>.glm::vec<2, double, glm::packed_highp>::<unnamed union>::y’ is used uninitialized [-Wuninitialized]
[ 16%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_RAYCEN_N2LINEAR.cpp.o
[ 16%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_RAYCEN_CLINEAR.cpp.o
[ 16%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_RAYCEN_CUBIC.cpp.o
[ 16%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_RAYCEN_PCHIP.cpp.o
[ 17%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_RAYCEN_QUAD.cpp.o
[ 17%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_RAYCEN_ANALYTIC.cpp.o
[ 17%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_CART_N2LINEAR.cpp.o
[ 17%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_CART_CLINEAR.cpp.o
[ 18%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_CART_CUBIC.cpp.o
[ 18%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_CART_PCHIP.cpp.o
[ 18%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_CART_QUAD.cpp.o
[ 18%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_GEOM_CART_ANALYTIC.cpp.o
[ 19%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_SGB_N2LINEAR.cpp.o
[ 19%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_SGB_CLINEAR.cpp.o
[ 19%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_SGB_CUBIC.cpp.o
[ 19%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_SGB_PCHIP.cpp.o
[ 20%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_SGB_QUAD.cpp.o
[ 20%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_2D_ARRIVALS_SGB_ANALYTIC.cpp.o
[ 20%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_RAYCEN_N2LINEAR.cpp.o
[ 20%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_RAYCEN_CLINEAR.cpp.o
[ 21%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_RAYCEN_CUBIC.cpp.o
[ 21%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_RAYCEN_PCHIP.cpp.o
[ 21%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_RAYCEN_HEXAHEDRAL.cpp.o
[ 22%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_RAYCEN_ANALYTIC.cpp.o
[ 22%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_CART_N2LINEAR.cpp.o
[ 22%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_CART_CLINEAR.cpp.o
[ 22%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_CART_CUBIC.cpp.o
[ 23%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_CART_PCHIP.cpp.o
[ 23%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_CART_HEXAHEDRAL.cpp.o
[ 23%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_TL_GEOM_CART_ANALYTIC.cpp.o
[ 23%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_RAYCEN_N2LINEAR.cpp.o
[ 24%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_RAYCEN_CLINEAR.cpp.o
[ 24%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_RAYCEN_CUBIC.cpp.o
[ 24%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_RAYCEN_PCHIP.cpp.o
[ 24%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_RAYCEN_HEXAHEDRAL.cpp.o
[ 25%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_RAYCEN_ANALYTIC.cpp.o
[ 25%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_CART_N2LINEAR.cpp.o
[ 25%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_CART_CLINEAR.cpp.o
[ 25%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_CART_CUBIC.cpp.o
[ 26%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_CART_PCHIP.cpp.o
[ 26%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_CART_HEXAHEDRAL.cpp.o
[ 26%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_EIGENRAYS_GEOM_CART_ANALYTIC.cpp.o
[ 27%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_RAYCEN_N2LINEAR.cpp.o
[ 27%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_RAYCEN_CLINEAR.cpp.o
[ 27%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_RAYCEN_CUBIC.cpp.o
[ 27%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_RAYCEN_PCHIP.cpp.o
[ 28%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_RAYCEN_HEXAHEDRAL.cpp.o
[ 28%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_RAYCEN_ANALYTIC.cpp.o
[ 28%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_CART_N2LINEAR.cpp.o
[ 28%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_CART_CLINEAR.cpp.o
[ 29%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_CART_CUBIC.cpp.o
[ 29%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_CART_PCHIP.cpp.o
[ 29%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_CART_HEXAHEDRAL.cpp.o
[ 29%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_3D_ARRIVALS_GEOM_CART_ANALYTIC.cpp.o
[ 30%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_RAYCEN_N2LINEAR.cpp.o
[ 30%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_RAYCEN_CLINEAR.cpp.o
[ 30%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_RAYCEN_CUBIC.cpp.o
[ 30%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_RAYCEN_PCHIP.cpp.o
[ 31%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_RAYCEN_HEXAHEDRAL.cpp.o
[ 31%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_RAYCEN_ANALYTIC.cpp.o
[ 31%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_CART_N2LINEAR.cpp.o
[ 31%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_CART_CLINEAR.cpp.o
[ 32%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_CART_CUBIC.cpp.o
[ 32%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_CART_PCHIP.cpp.o
[ 32%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_CART_HEXAHEDRAL.cpp.o
[ 33%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_CERVENY_CART_ANALYTIC.cpp.o
[ 33%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_RAYCEN_N2LINEAR.cpp.o
[ 33%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_RAYCEN_CLINEAR.cpp.o
[ 33%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_RAYCEN_CUBIC.cpp.o
[ 34%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_RAYCEN_PCHIP.cpp.o
[ 34%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_RAYCEN_HEXAHEDRAL.cpp.o
[ 34%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_RAYCEN_ANALYTIC.cpp.o
[ 34%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_CART_N2LINEAR.cpp.o
[ 35%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_CART_CLINEAR.cpp.o
[ 35%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_CART_CUBIC.cpp.o
[ 35%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_CART_PCHIP.cpp.o
[ 35%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_CART_HEXAHEDRAL.cpp.o
[ 36%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_GEOM_CART_ANALYTIC.cpp.o
[ 36%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_SGB_N2LINEAR.cpp.o
[ 36%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_SGB_CLINEAR.cpp.o
[ 36%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_SGB_CUBIC.cpp.o
[ 37%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_SGB_PCHIP.cpp.o
[ 37%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_SGB_HEXAHEDRAL.cpp.o
[ 37%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_TL_SGB_ANALYTIC.cpp.o
[ 38%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_RAYCEN_N2LINEAR.cpp.o
[ 38%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_RAYCEN_CLINEAR.cpp.o
[ 38%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_RAYCEN_CUBIC.cpp.o
[ 38%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_RAYCEN_PCHIP.cpp.o
[ 39%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_RAYCEN_HEXAHEDRAL.cpp.o
[ 39%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_RAYCEN_ANALYTIC.cpp.o
[ 39%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_CART_N2LINEAR.cpp.o
[ 39%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_CART_CLINEAR.cpp.o
[ 40%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_CART_CUBIC.cpp.o
[ 40%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_CART_PCHIP.cpp.o
[ 40%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_CART_HEXAHEDRAL.cpp.o
[ 40%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_GEOM_CART_ANALYTIC.cpp.o
[ 41%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_SGB_N2LINEAR.cpp.o
[ 41%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_SGB_CLINEAR.cpp.o
[ 41%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_SGB_CUBIC.cpp.o
[ 41%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_SGB_PCHIP.cpp.o
[ 42%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_SGB_HEXAHEDRAL.cpp.o
[ 42%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_EIGENRAYS_SGB_ANALYTIC.cpp.o
[ 42%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_RAYCEN_N2LINEAR.cpp.o
[ 42%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_RAYCEN_CLINEAR.cpp.o
[ 43%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_RAYCEN_CUBIC.cpp.o
[ 43%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_RAYCEN_PCHIP.cpp.o
[ 43%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_RAYCEN_HEXAHEDRAL.cpp.o
[ 44%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_RAYCEN_ANALYTIC.cpp.o
[ 44%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_CART_N2LINEAR.cpp.o
[ 44%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_CART_CLINEAR.cpp.o
[ 44%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_CART_CUBIC.cpp.o
[ 45%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_CART_PCHIP.cpp.o
[ 45%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_CART_HEXAHEDRAL.cpp.o
[ 45%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_GEOM_CART_ANALYTIC.cpp.o
[ 45%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_SGB_N2LINEAR.cpp.o
[ 46%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_SGB_CLINEAR.cpp.o
[ 46%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_SGB_CUBIC.cpp.o
[ 46%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_SGB_PCHIP.cpp.o
[ 46%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_SGB_HEXAHEDRAL.cpp.o
[ 47%] Building CXX object config/cxx/CMakeFiles/bellhopcxxobjlib.dir/gen_templates/field_NX2D_ARRIVALS_SGB_ANALYTIC.cpp.o
[ 47%] Built target bellhopcxxobjlib
[ 47%] Linking CXX shared library ../../bin/libbellhopcxxlib.so
[ 47%] Built target bellhopcxxlib
[ 47%] Linking CXX static library ../../bin/libbellhopcxxstatic.a
[ 47%] Built target bellhopcxxstatic
[ 47%] Building CXX object config/cxx/CMakeFiles/bellhopcxx.dir/__/__/src/cmdline.cpp.o
[ 48%] Linking CXX executable ../../bin/bellhopcxx
[ 48%] Built target bellhopcxx
[ 48%] Building CXX object config/cxx/CMakeFiles/bellhopcxx2d.dir/__/__/src/cmdline.cpp.o
[ 48%] Linking CXX executable ../../bin/bellhopcxx2d
[ 48%] Built target bellhopcxx2d
[ 48%] Building CXX object config/cxx/CMakeFiles/bellhopcxx3d.dir/__/__/src/cmdline.cpp.o
[ 49%] Linking CXX executable ../../bin/bellhopcxx3d
[ 49%] Built target bellhopcxx3d
[ 49%] Building CXX object config/cxx/CMakeFiles/bellhopcxxnx2d.dir/__/__/src/cmdline.cpp.o
[ 49%] Linking CXX executable ../../bin/bellhopcxxnx2d
[ 49%] Built target bellhopcxxnx2d
[ 50%] Building CXX object config/cuda/CMakeFiles/bellhopcudaobjlib.dir/__/__/src/mode/arr.cpp.o
In file included from /usr/include/cuda/std/cmath:19,
                 from /usr/include/cuda/std/complex:12,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common.hpp:92,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.cpp:19:
/usr/include/cuda/std/detail/libcxx/include/cmath:569:101: error: ‘float cuda::std::__4::hypot(float, float, float)’ conflicts with a previous declaration
  569 | LITY float       hypot(       float x,       float y,       float z ) { return sqrt(x*x + y*y + z*z); }
      |                                                                     ^

In file included from /usr/include/c++/11/math.h:36,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common.hpp:26,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.cpp:19:
/usr/include/c++/11/cmath:1868:3: note: previous declaration ‘float std::hypot(float, float, float)’
 1868 |   hypot(float __x, float __y, float __z)
      |   ^~~~~
In file included from /usr/include/cuda/std/cmath:19,
                 from /usr/include/cuda/std/complex:12,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common.hpp:92,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.cpp:19:
/usr/include/cuda/std/detail/libcxx/include/cmath:570:101: error: ‘double cuda::std::__4::hypot(double, double, double)’ conflicts with a previous declaration
  570 | LITY double      hypot(      double x,      double y,      double z ) { return sqrt(x*x + y*y + z*z); }
      |                                                                     ^

In file included from /usr/include/c++/11/math.h:36,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common.hpp:26,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.cpp:19:
/usr/include/c++/11/cmath:1872:3: note: previous declaration ‘double std::hypot(double, double, double)’
 1872 |   hypot(double __x, double __y, double __z)
      |   ^~~~~
In file included from /usr/include/cuda/std/cmath:19,
                 from /usr/include/cuda/std/complex:12,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common.hpp:92,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.cpp:19:
/usr/include/cuda/std/detail/libcxx/include/cmath:572:101: error: ‘long double cuda::std::__4::hypot(long double, long double, long double)’ conflicts with a previous declaration
  572 | LITY long double hypot( long double x, long double y, long double z ) { return sqrt(x*x + y*y + z*z); }
      |                                                                     ^

In file included from /usr/include/c++/11/math.h:36,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common.hpp:26,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.cpp:19:
/usr/include/c++/11/cmath:1876:3: note: previous declaration ‘long double std::hypot(long double, long double, long double)’
 1876 |   hypot(long double __x, long double __y, long double __z)
      |   ^~~~~
In file included from /home/fin/Documents/c/bellhopcuda3/src/mode/../common.hpp:94,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/../common_setup.hpp:21,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.hpp:20,
                 from /home/fin/Documents/c/bellhopcuda3/src/mode/arr.cpp:19:
/usr/include/cuda/std/atomic:56:22: error: ‘thread_scope’ has not been declared in ‘cuda::std::__4::__detail’
   56 | using std::__detail::thread_scope;
      |                      ^~~~~~~~~~~~
/usr/include/cuda/std/atomic:57:22: error: ‘thread_scope_system’ has not been declared in ‘cuda::std::__4::__detail’
   57 | using std::__detail::thread_scope_system;
      |                      ^~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:58:22: error: ‘thread_scope_device’ has not been declared in ‘cuda::std::__4::__detail’
   58 | using std::__detail::thread_scope_device;
      |                      ^~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:59:22: error: ‘thread_scope_block’ has not been declared in ‘cuda::std::__4::__detail’
   59 | using std::__detail::thread_scope_block;
      |                      ^~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:60:22: error: ‘thread_scope_thread’ has not been declared in ‘cuda::std::__4::__detail’
   60 | using std::__detail::thread_scope_thread;
      |                      ^~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:63:22: error: ‘__thread_scope_block_tag’ has not been declared in ‘cuda::std::__4::__detail’
   63 | using std::__detail::__thread_scope_block_tag;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:64:22: error: ‘__thread_scope_device_tag’ has not been declared in ‘cuda::std::__4::__detail’
   64 | using std::__detail::__thread_scope_device_tag;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:65:22: error: ‘__thread_scope_system_tag’ has not been declared in ‘cuda::std::__4::__detail’
   65 | using std::__detail::__thread_scope_system_tag;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:66:22: error: ‘__atomic_signal_fence_cuda’ has not been declared in ‘cuda::std::__4::__detail’
   66 | using std::__detail::__atomic_signal_fence_cuda;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:67:22: error: ‘__atomic_thread_fence_cuda’ has not been declared in ‘cuda::std::__4::__detail’
   67 | using std::__detail::__atomic_thread_fence_cuda;
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/cuda/std/atomic:81:22: error: ‘thread_scope’ has not been declared
   81 | template <class _Tp, thread_scope _Sco = thread_scope::thread_scope_system>
      |                      ^~~~~~~~~~~~
/usr/include/cuda/std/atomic:81:42: error: ‘thread_scope’ has not been declared
   81 | template <class _Tp, thread_scope _Sco = thread_scope::thread_scope_system>
      |                                          ^~~~~~~~~~~~
/usr/include/cuda/std/atomic:83:38: error: ‘_Sco’ was not declared in this scope
   83 |     : public std::__atomic_base<_Tp, _Sco>
      |                                      ^~~~
/usr/include/cuda/std/atomic:83:42: error: template argument 2 is invalid
   83 |     : public std::__atomic_base<_Tp, _Sco>
      |                                          ^
/usr/include/cuda/std/atomic:85:37: error: ‘_Sco’ was not declared in this scope
   85 |     typedef std::__atomic_base<_Tp, _Sco> __base;
      |                                     ^~~~
/usr/include/cuda/std/atomic:85:41: error: template argument 2 is invalid
   85 |     typedef std::__atomic_base<_Tp, _Sco> __base;
      |                                         ^
/usr/include/cuda/std/atomic:113:22: error: ‘thread_scope’ has not been declared
  113 | template <class _Tp, thread_scope _Sco>
      |                      ^~~~~~~~~~~~
/usr/include/cuda/std/atomic:114:21: error: ‘_Sco’ was not declared in this scope
  114 | struct atomic<_Tp*, _Sco>
      |                     ^~~~
/usr/include/cuda/std/atomic:114:25: error: template argument 2 is invalid
  114 | struct atomic<_Tp*, _Sco>
      |                         ^
/usr/include/cuda/std/atomic:115:39: error: ‘_Sco’ was not declared in this scope
  115 |     : public std::__atomic_base<_Tp*, _Sco>
      |                                       ^~~~
/usr/include/cuda/std/atomic:115:43: error: template argument 2 is invalid
  115 |     : public std::__atomic_base<_Tp*, _Sco>
      |                                           ^
/usr/include/cuda/std/atomic:171:71: error: ‘thread_scope’ has not been declared
  171 | line __host__ __device__ void atomic_thread_fence(memory_order __m, thread_scope _Scope = thread_scope::thread_scope_system) {
      |                                                                     ^~~~~~~~~~~~

/usr/include/cuda/std/atomic:171:93: error: ‘thread_scope’ has not been declared
  171 | __ void atomic_thread_fence(memory_order __m, thread_scope _Scope = thread_scope::thread_scope_system) {
      |                                                                     ^~~~~~~~~~~~

make[2]: *** [config/cuda/CMakeFiles/bellhopcudaobjlib.dir/build.make:76: config/cuda/CMakeFiles/bellhopcudaobjlib.dir/__/__/src/mode/arr.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:361: config/cuda/CMakeFiles/bellhopcudaobjlib.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

Which I beleive is the same error as before; the cuda cmath library conflicting with the c++11 std cmath library?

fincb commented 3 weeks ago

And to be clear I have:

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:    22.04
Codename:   jammy

and

nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Tue_Feb_27_16:19:38_PST_2024
Cuda compilation tools, release 12.4, V12.4.99
Build cuda_12.4.r12.4/compiler.33961263_0

and

clang++ --version
Ubuntu clang version 14.0.0-1ubuntu1.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

and

g++ --version
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
oldstylejoe commented 3 weeks ago

I'm unable to reproduce this error, and I'm not sure what I'm missing. I spun up a 3090 machine with ubuntu (see below). Then I successfully ran (from history command) 20 git clone https://github.com/A-New-BellHope/bellhopcuda.git 21 cd bellhopcuda/ 22 ls 23 git submodule update --init --recursive 24 mkdir build 25 cd build/ 26 cmake .. 27 cmake --build .

I'm sorry to not be more helpful, but there must be something else I'm missing. Can you please share your cmake output? Alternatively, the build I made might work for you. Link here

Test machine information (note clang++ is not actually needed, but doesn't seem to change anything.)

root@gpu-pod-bellhop4:/# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.4 LTS Release: 22.04 Codename: jammy

root@gpu-pod-bellhop4:/# nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2024 NVIDIA Corporation Built on Thu_Mar_28_02:18:24_PDT_2024 Cuda compilation tools, release 12.4, V12.4.131 Build cuda_12.4.r12.4/compiler.34097967_0

root@gpu-pod-bellhop4:/bellhopvol2/temp/bellhopcuda# clang++ --version Ubuntu clang version 14.0.0-1ubuntu1.1 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin

root@gpu-pod-bellhop4:/# nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2024 NVIDIA Corporation Built on Thu_Mar_28_02:18:24_PDT_2024 Cuda compilation tools, release 12.4, V12.4.131 Build cuda_12.4.r12.4/compiler.34097967_0

root@gpu-pod-bellhop4:/# nvidia-smi Fri Aug 23 18:45:40 2024 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 550.90.07 Driver Version: 550.90.07 CUDA Version: 12.4 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA GeForce RTX 3090 Off | 00000000:43:00.0 Off | N/A | | 30% 34C P8 9W / 350W | 2MiB / 24576MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+

fincb commented 2 weeks ago

Thanks for your effort! Your pre-compiled binaries seem to work for me.

This is the cmake return:

cmake .
CMake Warning at config/CMakeLists.txt:21 (message):
  clang-format pre-commit hook not found, installing

-- The CXX compiler identification is GNU 11.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- GCC detected, adding compile flags
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- The CUDA compiler identification is NVIDIA 11.5.119
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- GCC detected, adding compile flags
-- CUDA extra flags: -Xcudafe --diag_warning=local_variable_hidden -Xcudafe --diag_warning=decl_hides_catch_parameter -Xcudafe --diag_warning=decl_hides_function_parameter -Xcudafe --diag_warning=decl_hides_template_parameter -Xcudafe --diag_warning=for_init_hides_declaration -Xcudafe --diag_warning=declaration_hides_for_init -Xcudafe --diag_suppress=esa_on_defaulted_function_ignored -ftz=true --expt-relaxed-constexpr
-- GPU found: RTX 3090, compute 86
-- Using gencode args: -gencode arch=compute_86,code=sm_86
-- Full CUDA flags: -gencode arch=compute_86,code=sm_86   -Xcompiler=-Wall -Xcompiler=-Wextra -Xcompiler=-Wno-class-memaccess -Xcudafe --diag_warning=local_variable_hidden -Xcudafe --diag_warning=decl_hides_catch_parameter -Xcudafe --diag_warning=decl_hides_function_parameter -Xcudafe --diag_warning=decl_hides_template_parameter -Xcudafe --diag_warning=for_init_hides_declaration -Xcudafe --diag_warning=declaration_hides_for_init -Xcudafe --diag_suppress=esa_on_defaulted_function_ignored -ftz=true --expt-relaxed-constexpr
-- GCC detected, adding compile flags
-- Configuring done
-- Generating done
-- Build files have been written to: /home/fin/Documents/c/bellhopcuda3/bellhopcuda

which is interesting as that says cuda compiler is 11.5.119 but nvcc says 12.4.99.

and this is nvida-smi

nvidia-smi
Mon Aug 26 11:10:35 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.107.02             Driver Version: 550.107.02     CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3090        Off |   00000000:08:00.0  On |                  N/A |
| 30%   30C    P5             34W /  350W |    1012MiB /  24576MiB |     18%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+